是否可以创建一个bounds尺寸与frame尺寸不同的UIView?
我试图创建一个frame为"{{0,0},{320,367}}",bounds为"{{0,15},{320,337}}"的UIView,但是使用setBounds()和setFrame()无法实现。
从文档中得知,更改bounds或frame会相应地更改frame或bounds,但我认为这些值不同也没问题。
非常感谢。
当设备旋转时,整个视图层次结构都会使用CGAffineTransform进行变换。在这种情况下,您的界面边界和框架可能具有不同的值。确保视图位置最好的方法是设置其bounds属性为大小,以及其center属性为位置。
通常情况下:
1. bounds在(0,0)处,而frame(和中心)给出视图的位置。
2. bounds和frame具有相同的宽度和高度。
更新
听起来你想在一个之前更大的特定视图下添加一个按钮。
在这种情况下,我会创建一个占满整个空间的新视图。然后,我会将现在较小的特定视图作为子视图添加到所需位置。最后,我会将新按钮作为另一个子视图添加到新的全屏视图的所需位置。
您可以在Interface Builder或代码中进行此布局。