iOS学习纪事——ScrollView不能滚动问题

首先,这真是个挺蛋疼的问题。

UIScrollView,即可滚动视图。我参考的书上关于UIScrollView的讲解并不多,只是三言两语再加一个小例子。

但是在根据例子做完之后发现,它竟然滚不起来。contentSize属性的值我也按照书上的方法设置了,又怀疑值设得不够大改了又改,还是没用。Attributes inspector里面找看着像的地方选上或是取消勾选,也还是没用……

然后。。。我猜测是版本的原因,因为书讲的是iOS5,而我用的是6.1的sdk。于是去查UIScrollView的文档,但是没找到有关的信息。

怎么办呢真捉急。。。

后来。。。已经忘了当时是怎么发现问题所在的了,大概是在摆弄ScrollView里面子视图(一个Button,该Button在可视区域外)的位置时,看到它的Size inspector中有个地方挺奇怪的(下图),这里的值是一个负数。

当时还不大明白具体是什么意思,选择编辑之后,Utilities面板上如下面左图所示。

          

我选中Standard复选框,Constant后面即显示“Auto”(再取消选中则变成20)。然后我试着运行,居然可以滚动了!

原来这个地方是视图与视图、视图与父视图之间的约束(Constraint),可实现自动布局(Auto Layout)。在这里,“Bottom Space to:Superview Equals:-59.000000”表示该Button与ScrollView的Bottom之间的距离固定为-59(根据我自己的理解,这里ScrollView的Bottom应该指其实际的Height,而不是在Interface Builder中可视的Height)。而这个约束正好使ScrollView的Height和Bottom相等了,所以在运行的时候就无法滚动了,即使设置了contentSize。

我又IB中反复折腾了多次,约束这玩意儿实在是飘忽不定。看Apple的文档也是看得一知半解。先按下不表吧,整明白了再说。

Auto Layout是Xcode4.1加入的新特性,貌似iOS 6之前不支持。如果嫌它麻烦的话可以不用它(File inspector中可选),对于ScrollView的问题倒也省心,哈哈。

(最后,以上有理解不对的地方,还请指正,谢谢!)

 

转载于:https://www.cnblogs.com/sinkup/archive/2013/03/08/2949123.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值