我注意到 UIScrollView 的一些奇怪行为。
在一个新的 XCode(OS X 10.8.4 上的 4.6.2)iOS 项目中,我只添加了一个 RootViewController,并带有一行自定义代码:添加 UIScrollView 作为子视图
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.view addSubview:[[UIScrollView alloc] initWithFrame:self.view.bounds]];
}
然后在触摸屏幕一次后,当我检查 lldb 中的视图层次结构时,输出如下。
(lldb) po [[UIWindow keyWindow] recursiveDescription]
$0 = 0x07126f10 <UIWindow: 0x7528660; frame = (0 0; 320 568); layer = <UIWindowLayer: 0x7528730>>
| <UIView: 0x7668580; frame = (0 20; 320 548); autoresize = W+H; layer = <CALayer: 0x7668910>>
| | <UIScrollView: 0x7666200; frame = (0 0; 320 548); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7666df0>; layer = <CALayer: 0x76624f0>; contentOffset: {0, 0}>
| | | <UIImageView: 0x11121a30; frame = (313 541; 7 7); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x11121b60>> - (null)
| | | <UIImageView: 0x11121bd0; frame = (313 541; 7 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x11121c70>> - (null)
突然 UIScrollView 有两个我自己没有添加的子视图。这发生在模拟器和设备上(也包括 iPhone 和 iPad)。
所以我的问题是:这是正常行为吗?如果是这样,为什么会这样?