iphone - 使用 addSubview 添加时,使 View 调整到其父级

标签 iphone objective-c cocoa-touch uiview

我在使用 addSubview 时遇到问题。

示例代码:

ParentView *myParentView = [[ParentView alloc] initWithNibName:@"ParentView " bundle:nil];
ChildeView *myChildeView = [[ChildeView alloc] initWithNibName:@"ChildeView" bundle:nil];

//...  parent frame resized with setFrame lets say to x:0, y:0, W:320, H:411

[[myParentView view] addSubview: [myChildeView view]];

我的 child 在添加时比父级大,并且不会将其框架调整为父级边界。我不能在父框架上使用“剪辑 subview ”,如果父框架没有再次调整大小,“Autoresize Subviews”似乎不起作用。是否有一个属性可以使 subview 自动调整到其父级的边界,而无需在每个子级上使用 setFrame?

最佳答案

如果您没有使用自动布局,您是否尝试过设置 subview 的自动调整大小掩码?试试这个:

myChildeView.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
                                 UIViewAutoresizingFlexibleHeight);

此外,您可能需要调用

myParentView.autoresizesSubviews = YES;

让父 View 在其框架更改时自动调整其 subview 的大小。

如果您仍然看到 subview 在父 View 的框架之外绘制,则很有可能父 View 没有裁剪其内容。要解决这个问题,请调用

myParentView.clipsToBounds = YES;

关于iphone - 使用 addSubview 添加时,使 View 调整到其父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750256/

相关文章:

objective-c - Swift:带有两个值的 for-in

javascript - 如何使用 Objective-C 解析需要 JavaScript 的 HTML

iphone - Coredata手动迁移

iphone - 无法在我的 xcode 应用程序中安装 Monkey Talk ios 代理

iphone - iPhone 上的乐谱。对示例代码有什么建议吗?

iphone - 如何处理 -hd 文件

objective-c - 查找类是否符合给定键的键值

iphone - 在哪些情况下对象不符合键值编码?

ios - 添加新单元格时, Collection View 单元格静态变量会发生变化

iphone - 一个 UITableView - 多个数据源,最好的设计模式?