我在iPhone应用程序上工作,对xcode来说比较新。我正在尝试设计我的应用程序,以便无论使用什么设备,主要的ui将是中心。我有一个包含所有控件(文本字段,提交按钮)的uiview。我将这个uiview置于基于iPhone 5模拟指标的界面构建器中。当我在iPhone 4或更低版本上测试时,这个uiview自然不会居中,而是朝向屏幕的底部。在界面构建器中是否有一种简单的方法可以使用基于设备的uiview自动中心?我需要以编程方式添加吗?
感谢任何可以提供帮助的人!
iPhone 3.5inch = http://bit.ly/14r6R6U
iPhone 4英寸= http://bit.ly/WOyQcn
答案 0 :(得分:3)
您可以在界面构建器中使用自动调整大小选项。修复上边距和下边距并设置灵活高度
答案 1 :(得分:1)
如果您使用的是Xcode 4.5,那么您可以为iPhone 3.5英寸和iPhone 4英寸制作两个不同的xib:
这将很容易维护所有视图组件。
答案 2 :(得分:0)
最初创建大小为(320,480)的baseView,然后将视图添加为基础视图的子视图。
然后这样做,
CGRect _baseFrame=baseView.frame;
_baseFrame.origin=CGPointMake((self.view.frame.size.width-baseView.frame.size.width)/2, (self.view.frame.size.height-baseView.frame.size.height)/2);
baseView.frame=_baseFrame;
答案 3 :(得分:0)
如果启用了自动布局(默认情况下),则应将视图水平和垂直居中,并为其指定固定高度和固定宽度。有了这些,你应该能够删除任何其他约束。这将使其在纵向和横向的任何大小的屏幕中居中。
答案 4 :(得分:0)
你需要探索这些事情:
旧方式 - 自动调整遮罩
新方式 - 自动布局
默认情况下,这会在新项目中启用。您可以通过取消选中故事板的文件检查器中的框来将其关闭。自动布局仅限ios6。自动调整功能适用于ios6,5,4 ...
这两个都提供了不需要代码的布局引擎。使用这两种方法,您可以使用大小检查器更改故事板中对象的设置。
Autolayout是Apple首选的强烈推荐方式,但我建议先尝试自动调整面具。 Autolayout允许您对对象的相对定位进行更多控制,但代价是复杂性更高。如果您可以使用自动调整功能获得结果,请执行。
Raywenderlich.com对两者都有很好的指导。
答案 5 :(得分:0)
在视图控制器中定义它
#define STATUSBAR_HEIGHT 20
#define SCREEN_HEIGHT (( double )[ [ UIScreen mainScreen ] bounds ].size.height - STATUSBAR_HEIGHT)
#define SCREEN_WIDTH (( double )[ [ UIScreen mainScreen ] bounds ].size.width)
例如
UIView *view = [[UIView alloc]init];
[view setBackgroundColor:[UIColor purpleColor]];
//for example view height 100 and width 100 then
float xAxis = (SCREEN_WIDTH - 100)/2;
float yAxis = (SCREEN_HEIGHT - 100)/2;
[view setFrame:CGRectMake(xAxis, yAxis, 100, 100)];
[self.view addSubview:view];
如果您通过xib进行查看,那么您应该使用此