ui查看尺寸/位置与iPhone不同,在iPad上不起作用

ui查看尺寸/位置与iPhone不同,在iPad上不起作用,iphone,ios,ipad,uiview,Iphone,Ios,Ipad,Uiview,我有一个UIView,它的大小宽度=320px高度=40px,我想在底部显示它,看起来像一个标签栏 我使用以下代码来实现这一点,它在iPhone上运行良好。但当我尝试iPad模拟器时,屏幕上的任何地方都不会出现视图 buttonsView.frame=CGRectMake( 0, self.view.frame.size.height - buttonsView.fra

我有一个UIView,它的大小宽度=320px高度=40px,我想在底部显示它,看起来像一个标签栏

我使用以下代码来实现这一点,它在iPhone上运行良好。但当我尝试iPad模拟器时,屏幕上的任何地方都不会出现视图

buttonsView.frame=CGRectMake(
                                0,
                                self.view.frame.size.height - buttonsView.frame.size.height,
                                self.view.frame.size.width,
                                buttonsView.frame.size.height );
这会将视图拉伸到屏幕的宽度,但保持其原始高度

我怎样才能让这个节目也在我的iPad上播出呢

[更新]

这发生在我的
viewDidLoad

我现在有这个NSLog:

NSLog(@"buttonsView Width: \t%g\t%g\tHeight:\t%g\t%g",self.view.frame.size.width, buttonsView.frame.size.width, self.view.frame.size.height, buttonsView.frame.size.height);
有输出:
iPhone:

按钮视图宽度:320高度:460 40

iPad:

按钮视图宽度:768 768高度:1004 40

我还在页面顶部创建了另一个类似这样的视图,效果很好:

dataView.frame=CGRectMake(
                             0,
                             0,
                             self.view.frame.size.width,
                             dataView.frame.size.height);
您是否查看过(使用断点或
NSLog
)您在
CGRectMake
调用中输入的值,就像一种“健全性检查”


谢谢你的信息。我的下一个想法是,在
viewDidLoad
viewwillbeen
之间,操作系统正在改变某些东西。也许可以尝试将代码移动到
视图将出现
,以确保您使用的帧将是将显示的帧。更深入地解释它。

您是否查看了(使用断点或
NSLog
)您在
CGRectMake
调用中输入的值,就像一种“健全性检查”



谢谢你的信息。我的下一个想法是,在
viewDidLoad
viewwillbeen
之间,操作系统正在改变某些东西。也许可以尝试将代码移动到
视图将出现
,以确保您使用的帧将是将显示的帧。更深入地解释它。

发生这种情况是因为为UIView设置了自动调整大小的


要修复此问题,请设置
自动调整大小
,将其绑定到左上角。这样,无论何时更改帧,它都是相对于左上角的像素的。

之所以发生这种情况,是因为为UIView设置了自动调整大小的


要修复此问题,请设置
自动调整大小
,将其绑定到左上角。这样,无论何时更改帧,它都是相对于左上角像素的。

何时调用此代码?在
init
中,
viewDidLoad
视图将出现
,等等?何时调用此代码?在
init
中,
viewDidLoad
视图将出现
,等等?因此您可以使用gdb打印出值,作为NSLOG的替代方法。是否删除了我的编辑?否则我会发布不同的答案…?删除你的编辑?我不知道你在说什么。啊,好了,其他一些版主必须有(它正在等待批准),这样你可以使用gdb打印出值,作为NSLOG的替代。你删除了我的编辑吗?否则我会发布不同的答案…?删除你的编辑?我不知道你在说什么。啊,好了,一定是其他主持人(正在等待批准)