UIScrollView滾動視圖高級功能、協(xié)議方法

  • .userInteractionEnabled 是否允許通過點擊屏幕讓滾動視圖響應事件
    YES接收觸碰事件
    NO不接受
  • .contentOffset 滾動視圖畫布的移動位置椿争,決定畫布顯示的最終圖像效果
  • (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated;
    讓滾動視圖移動到指定的位置怕膛,動畫移動,一般在touchesBegan方法中設置
  • scrollViewWillBeginDragging:(UIScrollView *)scrollView
    滾動視圖即將開始被拖動時調用
  • (void) scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate秦踪;
    當滾動視圖結束拖動時調用此函數(shù)
  • (void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
    滾動視圖即將結束拖動時調用
  • (void) scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
    視圖即將開始減速時調用
  • (void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView
    視圖已經結束減速時期褐捻,視圖停止的瞬間調用

具體使用:

//聲明文件中聲明成員變量
@interface ViewController : UIViewController <UIScrollViewDelegate> {
    UIScrollView* _scrollView;
}
@end

//實現(xiàn)文件中
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    //創(chuàng)建滾動視圖
    _scrollView =[[UIScrollView alloc]init];
    
    //設定滾動視圖的位置
    _scrollView.frame=CGRectMake(10, 50, 300, 400);
    
    //取消彈動效果
    _scrollView.bounces=NO;
    
    //是否允許通過點擊屏幕讓滾動視圖響應事件
    // YES:滾動視圖可以接受觸碰事件
    // NO:不接受觸碰事件
    // _scrollView.userInteractionEnabled=NO;
    _scrollView.userInteractionEnabled=YES;
    
    //設置畫布的大小,縱向效果
    _scrollView.contentSize=CGSizeMake(300, 400*9);
    
    for(int i=0;i<10;i++){
        //生成圖片名稱
        NSString* strName =[NSString stringWithFormat:@"icon%d",i+1];
        UIImage *image = [UIImage imageNamed:strName];
        //創(chuàng)建圖像視圖對象
        UIImageView * iView = [[UIImageView alloc]init];
        //圖像賦值
        iView.image=image;
        //設置圖像視圖在滾動視圖畫布中的位置
        iView.frame=CGRectMake(0, 400*i, 300, 400);
        [_scrollView addSubview:iView];
        
    }
    
    [self.view addSubview:_scrollView];
    
    //取消按頁滾動效果
    _scrollView.pagingEnabled=NO;
    //    _scrollView.pagingEnabled=YES;
    
    //滾動視圖畫布的移動位置椅邓,偏移位置
    //功能:決定畫布顯示的最終圖像結果
    _scrollView.contentOffset=CGPointMake(0,0);
    
    //當前視圖控制器作為代理對象
    _scrollView.delegate=self;
}

-(void) touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    //    _scrollView.contentOffset=CGPointMake(0, 0);//點擊空白處柠逞,直接跳到設定的坐標位置
    //讓滾動視圖移動到指定位置,動畫移動
    [_scrollView scrollRectToVisible:CGRectMake(0, 0, 300, 400) animated:YES];
}

//當滾動視圖移動時景馁,只要offset坐標發(fā)生變化板壮,都會調用此函數(shù)
//參數(shù):調用此協(xié)議的滾動視圖對象
//可以使用此函數(shù)來監(jiān)控滾動視圖的位置
- (void) scrollViewDidScroll:(UIScrollView *)scrollView{
    
    NSLog(@"Y=%f",scrollView.contentOffset.y);
}

//當滾動視圖結束拖動時調用此函數(shù)
- (void) scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    NSLog(@"Did End Drag");
}

//滾動視圖即將開始被拖動時
-(void) scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    NSLog(@"WillBeginDrag");
}

//視圖即將結束拖動時調用
-(void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{
    NSLog(@"Will End Drag");
}

//視圖即將減速時調用
-(void) scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    NSLog(@"Will Begin Decelerating");
}

//視圖已經結束減速時調用,視圖停止的瞬間調用
-(void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    NSLog(@"視圖停止移動");
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末合住,一起剝皮案震驚了整個濱河市绰精,隨后出現(xiàn)的幾起案子撒璧,更是在濱河造成了極大的恐慌,老刑警劉巖笨使,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卿樱,死亡現(xiàn)場離奇詭異,居然都是意外死亡硫椰,警方通過查閱死者的電腦和手機繁调,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來靶草,“玉大人蹄胰,你說我怎么就攤上這事∞认瑁” “怎么了裕寨?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長糠悯。 經常有香客問我,道長妻往,這世上最難降的妖魔是什么互艾? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮讯泣,結果婚禮上纫普,老公的妹妹穿的比我還像新娘。我一直安慰自己好渠,他們只是感情好昨稼,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拳锚,像睡著了一般假栓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霍掺,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天匾荆,我揣著相機與錄音,去河邊找鬼杆烁。 笑死牙丽,一個胖子當著我的面吹牛,可吹牛的內容都是我干的兔魂。 我是一名探鬼主播烤芦,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼析校!你這毒婦竟也來了构罗?” 一聲冷哼從身側響起铜涉,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绰播,沒想到半個月后骄噪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蠢箩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年链蕊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谬泌。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡滔韵,死狀恐怖,靈堂內的尸體忽然破棺而出掌实,到底是詐尸還是另有隱情陪蜻,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布贱鼻,位于F島的核電站宴卖,受9級特大地震影響,放射性物質發(fā)生泄漏邻悬。R本人自食惡果不足惜症昏,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望父丰。 院中可真熱鬧肝谭,春花似錦、人聲如沸蛾扇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镀首。三九已至坟漱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間更哄,已是汗流浹背靖秩。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留竖瘾,地道東北人沟突。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像捕传,于是被迫代替她去往敵國和親惠拭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內容

  • 本節(jié)學習內容: 1.滾動視圖的高級屬性 2.滾動視圖的協(xié)義函數(shù) 3.滾動視圖的高級使用 【ViewControll...
    奔跑的小小魚閱讀 562評論 0 0
  • 掌握 UIScrollView的常見屬性 UIScrollView的常用代理方法 UIScrollView的縮放 ...
    JonesCxy閱讀 2,729評論 1 12
  • 極光推送: 1.JPush當前版本是1.8.2,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐职辅,SD...
    Isspace閱讀 6,719評論 10 16
  • 今天棒呛,思修課講的是理想,老師讓我們談談自己的夢想域携,我主動上去講了簇秒,雖然我覺得夢想是一個很有分量的詞匯,就像人內心...
    蛋蛋妮閱讀 424評論 0 1
  • 為什么想要開始? 這些年锋边,不記得從什么時候開始皱坛,忘記了自己曾經想以寫作作為自己的一生的職業(yè) ,這些...
    六塊八毛三閱讀 248評論 0 0