Ios 如何在Interface Builder中为3.5”;和4”;视网膜?
我想定位UIView,使其在3.5英寸和4英寸视网膜屏幕的中心显示。最好的方法是什么?如果我关闭所有的自动调整条,我希望它与屏幕中心对齐,但这似乎没有发生Ios 如何在Interface Builder中为3.5”;和4”;视网膜?,ios,xcode,interface-builder,alignment,autolayout,Ios,Xcode,Interface Builder,Alignment,Autolayout,我想定位UIView,使其在3.5英寸和4英寸视网膜屏幕的中心显示。最好的方法是什么?如果我关闭所有的自动调整条,我希望它与屏幕中心对齐,但这似乎没有发生 我很高兴使用新的Autolayout,但我也不知道如何让它做到这一点。以下是手动操作的方法(没有Autolayout): 要使用autolayout在IB的父视图(容器)视图中居中显示视图,请执行以下操作: 选择您的视图 转到菜单并选择编辑器->对齐->容器中的水平/垂直中心选项 但是,只有当您支持iOS 6及更高版本时,才能使用auto
我很高兴使用新的Autolayout,但我也不知道如何让它做到这一点。以下是手动操作的方法(没有Autolayout):
要使用autolayout在IB的父视图(容器)视图中居中显示视图,请执行以下操作:
- 选择您的视图
- 转到菜单并选择编辑器->对齐->容器中的水平/垂直中心选项
但是,只有当您支持iOS 6及更高版本时,才能使用autolayout,如果您针对的是早期的OS版本,则必须使用其他方法(例如,使用Eric建议的代码设置居中视图)按照以下步骤操作您的XIB,并且您应该获得正确的视图大小调整:
- 选择视图并转到“尺寸检查器”选项卡
- 选择排列(垂直居中或对齐)
- 如果要使其居中,请删除“自动调整大小”框中的两个对齐标记。如果要“粘滞”,请选择其中一个,如果要填充父对象,请选择两者
- 通过高亮显示或取消高亮显示垂直“双箭头”,选择是否应相对调整其大小
- 在这一点上,确保所有元素都位于您3.5英寸视图中的预期位置-这对于it在iOS4上工作至关重要
在某些情况下,不可能为所有元素获得准确的大小/位置。在这些情况下,您需要通过编程方式更改4“屏幕大小。我知道如何在代码中实现这一点,谢谢,但是因为我有很多nib文件,我更愿意在Interface Builder中学习如何实现。谢谢!不过有一件事我忘了提,我的应用程序是针对iOS 4及以上版本的。这样可以吗?我已经将部署目标设置为4.0,并且当我将其编译到iOS 6设备时,它不会抱怨。。。不幸的是,这在我的iPhone 4S上不起作用。它正确地显示在iPod touch 5G上,但当我在我的iPhone(3.5英寸显示屏)上观看时,视图与屏幕底部对齐。您必须首先考虑3.5英寸的视图,然后设置自动调整选项,使其正确地延伸到4英寸“。您可以测试它,以便它在界面生成器中正常工作。请参阅我如何操作的答案。抱歉,我今天没有机会尝试此功能…我很快会让您知道我是如何操作的。谢谢!我假设此方法是在自动布局关闭的情况下使用的?恐怕我仍停留在第3点上。“视图”在哪里?”tab?所有自动调整尺寸的参数都在尺寸检查器中。我对此投了赞成票,因为您关于为3.5英寸屏幕布局所有内容的观点是这里最重要的一点。然而,将尺寸参数更改为“无”对我来说似乎没有任何区别。我还可以很高兴地在3.5英寸和4英寸之间切换"检查其是否正常工作的大小。使用旧的自动调整大小方法,新iPhone 5的调整参数工作得更好,这似乎很奇怪!很抱歉反应太晚。是的,我刚刚看到我读错了,应该是第3点中的大小检查器。切换为“无”可能没有效果,除非您可以更改vie的大小在Interface Builder中使用w。但对我来说,不将其锁定为固定大小是有意义的。我希望您最终能使其正常工作=)
int screenWidth = [[UIScreen mainScreen] applicationFrame].size.height;
int screenHeight = [[UIScreen mainScreen] applicationFrame].size.width;
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,200)];
[myView setCenter:CGPointMake(screenWidth/2, screenHeight/2)];
[self.view addSubview:myView];