码迷,mamicode.com
首页 > 移动开发 > 详细

【iOS开发-53】案例学习:scrollView的核心用法以及无法滚动的解决办法

时间:2014-10-18 17:00:39      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   os   ar   使用   2014   on   log   

案例效果:

bubuko.com,布布扣


(1)主要的就是练习scrollView的用法。界面里面的其他元素基本都是UIView和UIButton堆砌起来的。


(2)主要用代码实现,当然,可以先用storyboard拖个scrollView出来。注意需要滚动的都需要放在scrollView,注意层级关系。

bubuko.com,布布扣

(3)我们要在代码中使用设置这个scrollView所以直接拖拽形成一个变量,代码都在ViewController.m中:

——设置scrollView的最重要的三个属性如下,已用注释标出。

——取得一个控件的最大最小X和Y值可以用方法CGRectGetMaxY等,但需要传递一个frame之类的参数。

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIButton *beHereBtn;
@end

@implementation ViewController

- (void)viewDidLoad {
    //确定scrollView能滚动多大范围
    self.scrollView.contentSize=CGSizeMake(320,CGRectGetMaxY(self.beHereBtn.frame)+10);
    //在scrollView周边增加滚动区域
    self.scrollView.contentInset=UIEdgeInsetsMake(64, 0, 49, 0);
    //设置scrollView里的控件的移动位置
    self.scrollView.contentOffset=CGPointMake(0, -64);
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

@end

(4)注意事项:一般出现无法滚动的情况,应该学会自我排查:

——检查一下是否忘记把这个控件定义成控件变量。

——有可能是布局了scrollView,但是忘记了设置它的contentSize属性,或者这个属性设置的太小,还没有scrollView的frame大,也会无法滚动。

——有可能是Auto Layout在捣乱,可以在storyboard中关闭这个选项。


【iOS开发-53】案例学习:scrollView的核心用法以及无法滚动的解决办法

标签:blog   http   io   os   ar   使用   2014   on   log   

原文地址:http://blog.csdn.net/weisubao/article/details/40212239

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!