#import
@inte***ce
@property (strong, nonatomic) uiwindow *window;
@end
#import "rootviewcontroller.h"
@inte***ce
@end
@implementation
- (void)dealloc
self
.window = [[uiwindow alloc] initwithframe:[[uiscreen mainscreen] bounds]];
self
.window
.backgroundcolor = [uicolor whitecolor];
[self
.window makekeyandvisible];
[_window release];
rootviewcontroller *rootvc = [[rootviewcontroller alloc] init];
self
.window
.rootviewcontroller = rootvc;
[rootvc release];
return
yes;}
rootviewcontroller.h
#import
@inte***ce
rootviewcontroller : uiviewcontroller
@end
rootviewcontroller.m
#import "rootviewcontroller.h"
#define width self.view.frame.size.width
#define height self.view.frame.size.height
@inte***ce
rootviewcontroller ()
@property(nonatomic, retain)uiscrollview *scrollview;
@property(nonatomic, retain)uipagecontrol *page;
@end
@implementation
rootviewcontroller
- (void)dealloc
- (void)viewdidload
uiimageview *lastimageview = [[uiimageview alloc] initwithframe:cgrectmake(8 * width, 0, width, height)];
lastimageview.image = [uiimage imagenamed:@"h1.jpeg"];
[self
.scrollview addsubview:lastimageview];
[lastimageview release];
lastimageview.userinteractionenabled = yes;
// 為了能顯示第一張, 我們需要先設定乙個偏移量, 這樣能直接顯示羅蘋的第一張
self
.scrollview
.contentoffset = cgpointmake(width, 0);
// 設定**人
self
.scrollview
.delegate = self;
// 用定時器實現無限滾動
// [nstimer scheduledtimerwithtimeinterval:1 target:self selector:@selector(changeimage) userinfo:nil repeats:yes];
// 建立乙個pagecontrol
self
.page = [[uipagecontrol alloc] initwithframe:cgrectmake(100, 100, 150, 30)];
[self
.view addsubview:self
.page];
[self
.page release];
self
.page
.backgroundcolor = [uicolor cyancolor];
self
.page
.numberofpages = 7;
// 設定未被點的顏色
self
.page
.pageindicatortintcolor = [uicolor blackcolor];
// 選中的點的顏色
self
.page
.currentpageindicatortintcolor = [uicolor whitecolor];
// touchupinside 和 valuechange 皆可用+
[self
.page addtarget:self action:@selector(changepage:) forcontrolevents:uicontroleventvaluechanged];
// 想要scrollview實現縮放功能, 需要先設定最大最小縮放比例
self
.scrollview
.minimumzoomscale = 0.5;
self
.scrollview
.maximumzoomscale = 2;
}#pragma mark 這個方法用來管理scrollview的縮放功能
- (uiview *)viewforzoominginscrollview:(uiscrollview *)scrollview
- (void)changepage:(uipagecontrol *)page
- (void)changeimage
// 自動向左滾動
if (self
.scrollview
.contentoffset
.x == 0)
}// 滑動結束, 觸發的協議方法
- (void)scrollviewdidenddecelerating:(uiscrollview *)scrollview
if (self
.scrollview
.contentoffset
.x == 0)
// pagecontrol和scrollview進行關聯, 點的移動方向和scrollview的偏移量相關
// 無論怎麼方向滑動, 當pagecontrol和scrollview關聯的時候, 偏移量都是修改好的, 所以可以正確的滾動和顯示
self
.page
.currentpage = self
.scrollview
.contentoffset
.x / width - 1;
}
無限滾動條的css布局理解
一 需求描述 carul li 二 問題描述 1.全部放不進容器裡,因為父容器只有600px,4張1200px,後面的圖只能被擠到第二排。加動畫效果時,等左移,第一排的空夠300px放一張圖時,才放到第一排。動畫效果十分不理想。2.用動畫控制marginleft,來製造左移效果。第四張切到第一張時轉...
用CSS3實現無限迴圈的無縫滾動
有時候在頁面的某個模組中,需要無限迴圈的滾動一些訊息。那麼如果我們用js實現無縫銜接滾動的思路是什麼呢 比如我們這個模組是向上滾動的 轉殖a乙份完全一樣的資料b放在原資料a的後面 使用setinterval向上滾動a的父級容器 當向上滾動的距離l正好的a的高度時 l a.height l 0,重新開...
用CSS3實現無限迴圈的無縫滾動
有時候在頁面的某個模組中,需要無限迴圈的滾動一些訊息。那麼如果我們用js實現無縫銜接滾動的思路是什麼呢 比如我們這個模組是向上滾動的 轉殖a乙份完全一樣的資料b放在原資料a的後面 使用setinterval向上滾動a的父級容器 當向上滾動的距離l正好的a的高度時 l a.height l 0,重新開...