我正在尝试理解以下问题。
我创建了一个这样的 View :
UIView *subNavigation = [[UIView alloc] initWithFrame:CGRectMake(0.0 0.0, 0.0, 70.0)];
之后,我运行一个循环以将按钮添加到该子导航 View ,但我不想立即显示按钮:
for (int i = 0; i < 5; i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(leftOrigin, 0.0, 145.8, MENU_BUTTON_HEIGHT);
leftOrigin += 145.8;
[button setBackgroundColor:[UIColor whiteColor]];
[button setTitle:@"Button Content" forState:UIControlStateNormal];
[button setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted];
[button setTag:i];
[subNavigation addSubview:button];
}
因此,创建的 subNavigation 的宽度为 0.0。我不想在添加子导航时看到按钮,但我想看到。如何使所有 subview 调整到其 super View 的框架宽度/高度?
非常感谢您的帮助!
最佳答案
如果您唯一的目的是隐藏其 subview ,我不会像这样乱搞 super View 的框架。相反,我建议您使用[subNavigation setHidden:YES];
。这也将隐藏其 subview 。
但是,如果您坚持这种方法,我建议您按照 @rokjarc 在他的评论中所说的那样,并在 super View 的范围内工作。您还应该考虑剪切 subNavigation 的 subview 。
[subNavigation setClipsToBounds:YES];
关于ios - 调整 subview 大小以适应 super View 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660458/