Objective c 为什么一个空的UIScrollView有两个子视图?
我需要在UIScrollView中计算内容的高度 我将一个空的UIScrollView放到XCode情节提要中,给了它一个自定义类,其中包含以下代码:Objective c 为什么一个空的UIScrollView有两个子视图?,objective-c,xcode,ios5,uiscrollview,storyboard,Objective C,Xcode,Ios5,Uiscrollview,Storyboard,我需要在UIScrollView中计算内容的高度 我将一个空的UIScrollView放到XCode情节提要中,给了它一个自定义类,其中包含以下代码: - (id)initWithCoder:(NSCoder *)decoder { self = [super initWithCoder:decoder]; if (self) { int i; for (i = 0; i < [self.subviews count]; i++) {
- (id)initWithCoder:(NSCoder *)decoder
{
self = [super initWithCoder:decoder];
if (self) {
int i;
for (i = 0; i < [self.subviews count]; i++) {
UIView *view =[self.subviews objectAtIndex:i];
NSLog(@"sub view %@ x:%f, y:%f, w:%f, h:%f", [view class], view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height);
}
}
return self;
}
那些图像是什么?他们放弃了我的计算,因为他们总是在我的内容下方。他们是滚动条(或者滚动指示器,如果你愿意的话)。一个是水平的,另一个是垂直的。我猜是滚动条,但我没有什么可以支持那句话。。。另外,
NSStringFromCGRect(view.frame)下次打印框架时,code>会帮你省去一些打字的时间。我想它也会是滚动条,但不知道如何证明这一点。感谢NSStringFromCGRect:)好吧,如果您使用[view subview]中的[UIView*subview]{[subview removeFromSuperview];}
删除所有子视图,您会注意到滚动条消失了。您应该跟踪要添加到滚动视图中的内容,并在其中进行迭代以进行计算,不通过scrollview的子视图。你永远不知道苹果在幕后会做什么奇怪的事情(比如添加滚动条)。安舒,如果我在代码中添加内容,我完全同意,但是我使用的是通过XCode情节提要添加内容的scrollview,所以它有现有内容。除了给故事板中的每个项目贴标签外,我不知道如何区分我添加的项目和苹果添加的项目。
sub view UIImageView x:233.000000, y:121.000000, w:7.000000, h:7.000000
sub view UIImageView x:233.000000, y:121.000000, w:7.000000, h:7.000000