3

我正在开发一个 iPhone 应用程序,并且对 xcode 比较陌生。我正在尝试设计我的应用程序,以便无论使用什么设备,主用户界面都将是中心。我有一个包含我所有控件(文本字段、提交按钮)的 uiview。我将这个 uiview 集中在基于 iPhone 5 模拟指标的界面构建器中。当我在 iPhone 4 或更低版本上测试时,这个 uiview 自然不是居中而是朝向屏幕底部。有没有一种简单的方法可以让界面生成器基于设备拥有这个 uiview 自动中心?我需要以编程方式添加它吗?

感谢任何能提供帮助的人!

iPhone 3.5 英寸 = http://bit.ly/14r6R6U
iPhone 4英寸 = http://bit.ly/WOyQcn

4

6 回答 6

4

您可以在界面构建器中使用自动调整大小选项。固定上边距和下边距并设置灵活高度

于 2013-01-30T04:15:55.200 回答
1

如果您使用的是 Xcode 4.5 及更高版本,那么您可以为 iPhone 3.5 英寸和 iPhone 4 英寸制作两种不同的 xib,例如:在此处输入图像描述

这将易于维护所有视图组件。

于 2013-01-30T04:19:50.293 回答
0

最初创建大小为 (320,480) 的 baseView,然后将视图添加为 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;
于 2013-01-30T04:16:10.937 回答
0

如果你打开了自动布局(默认情况下),你应该水平和垂直居中视图,并给它一个固定的高度和固定的宽度。一旦你有了这些,你应该能够删除任何其他约束。这将使它在纵向和横向的任何大小的屏幕中居中。

于 2013-01-30T04:32:50.500 回答
0

你需要探索这些东西:

旧方式 - 自动调整蒙版

新方式 - 自动布局
在新项目中默认启用此功能。您可以通过取消选中情节提要的文件检查器中的框来关闭它。自动布局仅适用于 ios6。自动调整大小适用于 ios6,5,4...

这两者都提供了不需要代码的布局引擎。使用这两种方法,您都可以使用大小检查器更改情节提要中对象的设置。

自动布局是 Apple 强烈推荐的前进方式,但我建议先尝试自动调整蒙版大小。自动布局允许您对对象的相对定位施加更多的控制,但代价是更大的复杂性。如果您可以使用自动调整大小来实现您的结果,请执行此操作。

Raywenderlich.com对两者都有很好的指导。

于 2013-01-30T04:45:42.583 回答
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 进行查看,那么您应该使用它

在此处输入图像描述

于 2013-01-30T05:45:40.993 回答