Iphone 如何以及何时调整子视图的位置?

Iphone 如何以及何时调整子视图的位置?,iphone,objective-c,ios,Iphone,Objective C,Ios,我已经在xib文件中创建了主视图的布局,但我想在运行时对其进行一些调整 我从视图调用我的调整代码。该代码将按钮的左上角设置为(0,0),但状态栏会部分隐藏该按钮 (当veiw旋转时,我调用相同的代码,然后工作正常!) 有人能解释一下吗 代码段: -(void) viewDidAppear:(BOOL) animated{ [super viewDidAppear:animated]; CGRect rc = CGRectMake(0, 0, 128, 128); [bu

我已经在xib文件中创建了主视图的布局,但我想在运行时对其进行一些调整

我从视图调用我的调整代码。该代码将按钮的左上角设置为(0,0),但状态栏会部分隐藏该按钮

(当veiw旋转时,我调用相同的代码,然后工作正常!)

有人能解释一下吗

代码段:

-(void) viewDidAppear:(BOOL) animated{
    [super viewDidAppear:animated];

    CGRect rc = CGRectMake(0, 0, 128, 128);
    [buttBack setFrame:rc];

}//viewDidAppear

在视图的4个角度放置一些虚拟按钮。运行时,您将能够看到它们是否部分地显示在屏幕外/工具栏下。如果是,这将解释为什么为按钮的原点设置0/0做同样的事情

此外,请检查包含要调整的按钮的视图是否定义了其所有自动调整属性。还要验证“工具栏”模拟是否在XIB的主视图上打开


完成此操作后,还要检查视图的H和W是否正确(既不是太大也不是太低),但这只是出于良心,调整自动调整属性后应处理此类错误。

能否提供准确的代码片段?谢谢@丹尼斯,好的,我已经添加了上面的代码。你的问题不是很清楚。您正在将按钮的边框设置为屏幕左上角的0,0。@kingthong,我的问题是状态栏隐藏了按钮的上半部分(如果状态栏是视图的子项,则会出现这种情况。但我的理解是,视图和状态栏是同级的。)。可能您当前的视图未定位在正确的位置。在根目录的视图层次路径中是否有任何视图在
frame
bounds
中设置了负值?我正在制作一个通用应用程序,因此我有一个MainView.xib和一个Main_view-iPad.xib。当我在iPhone上运行时,我可以看到所有4个虚拟按钮,但在iPad上,状态栏隐藏了上面的部分按钮。当我编辑iPad xib文件时,我可以看到状态栏,视图的大小是768 x 1004(即1024-20)。好的,我找到了。在MainViewController中,未选中“从NIB调整视图大小”。当我设置它时,虚拟按钮被正确放置。谢谢