iOS开发memo_UIScrollView

UIScrollView是你原本以为很简单,但操作起来很麻烦的物件。

再加上如果没熟读文件的话,往往只能从错误之中学习,所花费的时间成本相当高。

如果你用代码建立就已经很麻烦了,没想到用Storyboard建立又会更麻烦。

首要在于,原本你认知的UIScrollView实际上与你想像的东西大为不同。

先从code来解说如下:

一般我们建立UIScrollView时,最重要要的属性就是contentSize,因为由它来决定UIScrollView的滑动范围。

当contentSize比SuperView的size大的时候,UIScrollView就会启动滑动功能,因此contentSize的设置非常重要。

而当然不只是这样,UIScrollView的contentSize则又要靠指定frame来建立,否则它不会有任何滑动变化。

基本的代码如下:

  #import“ ViewController.h” 
  @interface ViewController() 
  @属性(弱,非原子)IBOutlet UIScrollView * scrollView; 
  @结束 
  @implementation ViewController 
  -(void)viewDidLoad { 
  [super viewDidLoad]; 

  UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(10,900,100,30)]; 
  label.text = @“ Hello world!”; 
  [self.scrollView addSubview:label]; 
  self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width,label.frame.origin.y + 30); 
  } 

上面的代码通过IBOulet建立1个UIScrollView,另外建立一个UILabel对象,并指定该UILabel的框架,再把这个UILabel放到UIScrollView里面,注意!里面有非常重要的一点,就是把UIScrollView的contentSize的高度,设置为Label的y值在加30,代表UIScrollView的高会比Label的位置再高一点,留了一点空间相似的外观。

但是,如果想要在Sotryboard放上UIScrollView后,又想在里面放元件时,情况就会完全不同了!

首要就是在于约束。

这边就要提到用Storyboard建立UIScrollView的话,如果你约束上下左右都设置为0,不会出现任何警告,

按确定后,没有任何警告!