2013-03-17 85 views
-1

我有一个很少的控件的视图,我希望它垂直居中,无论设备。如何在3.5英寸和5英寸设备上居中查看?

我尝试了自动布局没有太多的帮助。

我试过大小检查器 - 排列 - 中心水平在容器中,但它只适用于一种类型的屏幕。所以,如果我安排在4英寸的显示器上,它将在3.5英寸太低,如果我安排在3.5英寸它将在4英寸太高。

可以做些什么呢?

+0

@Downvoter请详细介绍downvote的原因,以便用户可以改善问题,如果可能的话。 – Popeye 2013-03-17 15:49:59

回答

-2

我结束了使用两种不同的XIBs,一个3.5英寸和一个4台英寸的设备来完成。

+0

@Downvoter请详细说明downvote的原因,以便用户可以在可能的情况下改进答案。 – Popeye 2013-03-17 15:48:22

1

尝试使用[UIScreen mainScreen].bounds.size设置代码中框架的X和Y以获取屏幕大小。

反正我敢肯定,这可以通过自动布局

+0

Autolayout非常棒,但我想支持iOS 5. – Dvole 2013-03-17 10:37:21

+0

哦,好的!试试这个代码: 'CGSize screenSize = [UIScreen mainScreen] .bounds.size; CGFloat yValue = screenSize.height/2 - self.self.yourView.frame.size.height/2; CGRect newRect = CGRectMake(self.yourView.frame.origin.x,yValue,self.yourView.frame.size.width,self.yourView.frame.size.height); self.yourView.frame = newRect;' – BigLex 2013-03-17 10:52:53

2

您可以通过执行

CGPoint viewCenterPoint = [[self view] center]; 

这将让双方的主视图的中心xy位置得到的,你是把主要观点的中心到。你可以,如果你想有中心主视图x比你能做到这样设定为每一个自己xy位置像

CGPoint viewCenterPoint = CGPointMake([[self view] center].x, [[self view] center].y); 

左右。

一旦你设置了viewCenterPoint,你就可以在新的视图上看到你想要放在主视图的中心,你可以做。

// ... all code to set myNewView up 
[myNewView setCenter:viewCenterPoint]; 

简单来说,这应该适用于3.5英寸和4英寸的设备以及iPad。

希望这会有所帮助。

相关问题