我在调试为什么我的scrollView
无法滚动时遇到了这个问题。对于上下文,我的布局结构是:
-ScrollView
- View
- labels, images, buttons
更新scrollView.contentSize
以匹配(子)视图不起作用,所以我输入了一些调试语句。当i NSLog
描述时,视图的框架大小为0,0但是如果我运行调试器的recursiveDescription
,则显示不同。
知道为什么,这可能会影响为什么我的滚动不起作用?
来自NSLog(@"%@", [self.view description])
2012-11-15 17:16:46.707 Comparo [65731:11303]首发:< UIView: 的 0x7144590 ; frame =(0 0; 0 0 ); autoresize = TM + BM; layer = < CALayer:0x714b4f0>>
2012-11-15 17:16:46.708 Comparo [65731:11303] 1:< UIView:0x7144590; frame =(0 0; 0 0); autoresize = TM + BM; layer =< CALayer: 0x714b4f0>>
2012-11-15 17:16:46.771 Comparo [65731:11303] 2:< UIView:0x7144590; frame =(0 0; 0 0); autoresize = TM + BM; layer =< CALayer: 0x714b4f0>>
2012-11-15 17:16:46.771 Comparo [65731:11303] 3:< UIView:0x7144590; frame =(0 0; 0 0); autoresize = TM + BM; layer =< CALayer: 0x714b4f0>>
2012-11-15 17:16:46.772 Comparo [65731:11303] 4:< UIView:0x7144590; frame =(0 0; 0 0); autoresize = TM + BM; layer =< CALayer: 0x714b4f0>>
调试器输出:(lldb) po [[UIApp keyWindow] recursiveDescription]
...
| | | | < UIScrollView:0x71494d0; frame =(0 0; 320 504); clipsToBounds = YES; autoresize = TM + BM; gestureRecognizers = < NSArray:0x75d3bb0&gt ;; layer =< CALayer:0x71f9ed0&gt ;; contentOffset:{0,0}>
| | | | | < UIView: 0x7144590 ; frame =(0 0; 320 523 ); autoresize = TM + BM; layer =< CALayer:0x714b4f0>>
感谢。
答案 0 :(得分:1)
谢谢Rob!
你认为这是一个时间问题是正确的,并且没有办法保证在viewDidLoad(我有我的NSLog语句)中最终确定帧。我将语句移动到viewDidAppear:,这是用户首先能够与他们交互并滚动的地方,现在数字匹配。
奖金:解决了我的滚动问题。