Iphone UIImageView/UIButton在第二个和连续视图上自动调整到错误的帧值

Iphone UIImageView/UIButton在第二个和连续视图上自动调整到错误的帧值,iphone,ipad,uiview,interface-builder,autoresize,Iphone,Ipad,Uiview,Interface Builder,Autoresize,我有一个包含uitabar和UINavigationBar的应用程序,如下所示: 在视图中,我有两个子视图,它们分别占据上半部分(红色)和下半部分(绿色),在这两个视图中,我有一个UIImageView(或者我指定背景图像的UIButton,我已经测试了这两个对象)。我使用interface builder指定了position和autoresize值,当我第一次显示视图控制器时,一切看起来都完全正确,因此显示了包含两个子视图的视图 但是,当我导航到选项卡栏中的其他选项卡,或使用导航控制器,并

我有一个包含uitabar和UINavigationBar的应用程序,如下所示:

在视图中,我有两个子视图,它们分别占据上半部分(红色)和下半部分(绿色),在这两个视图中,我有一个UIImageView(或者我指定背景图像的UIButton,我已经测试了这两个对象)。我使用interface builder指定了position和autoresize值,当我第一次显示视图控制器时,一切看起来都完全正确,因此显示了包含两个子视图的视图

但是,当我导航到选项卡栏中的其他选项卡,或使用导航控制器,并再次返回到特定视图时,UIButton都会出错。。内部视图显示时,尺寸不再正确(高度变为两倍),第二个视图上的UIButton的Y太大,超出了屏幕

我已经调试和调整了一整天的属性,但不明白哪里出了问题。我注意到,如果我没有选中UIView(红色和绿色视图)的[Autoresize Subview]复选框,布局就完好无损,问题就消失了。然而,这并不是我想要的行为,因为我希望UIButton(连同它的背景图片)在iPad和4英寸屏幕设备上被拉伸并动态增长

附件是我对第一个子视图(红色视图)的设置,第二个子视图(绿色视图)的设置相同,或者锁定到镜像边缘。提前感谢


将图像设置为按钮前景而不是按钮背景。按钮背景图像会拉伸,但按钮前景图像不会拉伸

或者使用下面的代码将图像设置为不拉伸

//For image as background    
[button setBackgroundImage:image forState:UIControlStateNormal];

//For image as foreground
[button setImage:image forState:UIControlStateNormal]; 
问候,,
Ravi

感谢您的帮助,但它不起作用…我尝试将UIButton更改为UIImageView,但它也不起作用…一件事是wierd在第二个和后续视图上,顶部视图确实扩展到覆盖整个屏幕。我将底部视图设置为透明,并看到红色覆盖整个屏幕,但在第一次单击I时不会发生正在删除包含视图的选项卡,但:(@Zennichimaro,尝试在按钮的UIImageView@Zennichimaro,你是怎么做到的?它也不起作用。它是wierd,第一个视图向下延伸到更长的位置,沿着UIButton内部延伸。第二个视图向下延伸到更长的位置,沿着延伸,并将UIButton放得更低。我开始讨厌AAPL和希望MSFT或BBRY赢得电话战..嘿,伙计,你设置了两个子视图(顶部/底部)的适当属性吗?它们有子视图(UIButton图像)?我想你只是在设置子视图(UIButton图像)的属性,而不是子视图(顶部/底部)。我认为这些都是会被拉伸的。由于它在第一次显示屏幕时工作得非常好,每次我导航到其他UIViewController时,我都会释放有问题的VC的视图并将其设置为零。它是这样工作的,尽管不是一个优雅的解决方案……请注意:使用UIView的递归描述更容易调试视图层次结构