我有一个包含UITabBar和UINavigationBar的应用程序,如下所示:
在视图中,我有两个子视图,分别占据上半部分(红色)和下半部分(绿色),在这两个视图中,我有一个UIImageView (或UIButton,我指定了背景图像,我已经测试了这两个对象)。我使用接口构建器分配了位置和自动调整大小的值,当我第一次呈现视图控制器时,一切看起来都是完全正确的,从而显示了包含两个子视图的视图。
但是,当我导航到选项卡栏中的其他选项卡,或使用导航控制器,并再次返回到特定视图时,两个UIButton都出错。在viewDidAppear内部,大小不再正确(高度变为双倍),并且第二个视图上的UIButton的Y太大,以至于超出了屏幕
我已经调试和调整了一整天的属性,但不能理解哪里出了问题。我注意到,如果我没有选中UIViews (红色和绿色视图)的自动调整子视图大小复选框,布局就会完好无损,问题也就解决了。然而,这并不是我想要的行为,因为我希望UIButton (和它的backgroundImage)能够在iPad和4英寸屏幕设备上得到伸展和动态增长。
附着的是我对第一个子视图(红色视图)的设置,第二个视图(绿色视图)的设置要么相同,要么被锁定到镜像边。提前感谢!
发布于 2013-04-07 07:30:43
设置您的图像为按钮前景,而不是按钮背景。作为按钮背景的图像将会拉伸,但作为按钮前景的图像将不会拉伸。
或者使用以下代码将您的图像设置为不伸缩
//For image as background
[button setBackgroundImage:image forState:UIControlStateNormal];
//For image as foreground
[button setImage:image forState:UIControlStateNormal];
向您致敬,拉维
https://stackoverflow.com/questions/15859845
复制