ios - 调整 subview 大小以适应 super View 框架

标签 ios objective-c uiview

我正在尝试理解以下问题。

我创建了一个这样的 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/

相关文章:

iphone - iPhone 的自动完成搜索示例

ios - 在一个 View Controller 中的多个 View 之间切换

ios - 如何在运行时获得 Storyboard中创建的 UIView 的正确大小

ios - 覆盖功能

objective-c - 您如何创建一组实体,这些实体都与具有特定属性的其他实体有关系?在核心数据中

ios - 使表格 View 中的字幕成为时间戳( Objective-C )

ios - 查看调试: What are the layers of view in any View Controller?

ios - [[NSUUID new] UUIDString] 和 CFUUIDRef 之间有什么区别

ios - UIImagePickerController 在 iOS10 上崩溃

java - Android sqlite 中的自定义查询和多列上的主键