iOS - UIView 描述框架与调试器递归描述框架不匹配

标签 ios xcode uiview uiscrollview

我在调试为什么我的 scrollView 不滚动时遇到了这个问题。对于上下文,我的布局结构是:

-ScrollView
  - View
     - labels, images, buttons

更新 scrollView.contentSize 以匹配(子) View 不起作用,所以我放入了一些调试语句。事实证明,当我 NSLog 其描述时, View 的框架大小为 0、0,但如果我运行调试器的 recursiveDescription,它会显示不同。

知道为什么吗,这会影响我的滚动不起作用的原因吗?

来自NSLog(@"%@", [self.view description])

2012-11-15 17:16:46.707 Comparo[65731:11303] starting: <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>; layer = <CALayer: 0x71f9ed0>; contentOffset: {0, 0}>

| | | | | <UIView: 0x7144590; frame = (0 0; 320 523); autoresize = TM+BM; layer = <CALayer: 0x714b4f0>>

谢谢。

最佳答案

谢谢罗布!

您说的是时间问题是对的,并且无法保证帧将在 viewDidLoad(我有 NSLog 语句)中完成。我将语句移到了 viewDidAppear:,这是用户首先能够与它们交互并无论如何滚动的地方,现在数字匹配了。

奖励:也解决了我的滚动问题。

关于iOS - UIView 描述框架与调试器递归描述框架不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13407754/

相关文章:

ios - Xcode 8 Playground 实时取景不起作用

ios - 如何以编程方式快速使用 UIView 覆盖整个屏幕

ios - 将数据从我的 viewcontroller 类传递到放置在同一场景中的自定义类 UIView 时,“包装可选值时出现意外的 nil”

objective-c - iPhone subview 设计(UIView 与 UIViewController)

iphone - 调用选项卡栏上的 View 进行显示,而无需用户按选项卡栏(以编程方式)

ios - CoreBluetooth 外围设备标识符更改

xcode - 在 swift sprite 工具包中创建菜单

ios - Xcode 6 - 语法高亮/完成不起作用

ios - 如何使用Combine的AsyncPublisher解决内存泄漏

iphone - iOS自定义UIButton