我在使用 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/