在Xcode中使控件水平对齐

时间:2013-02-06 15:29:14

标签: xcode

我正在尝试水平对齐我的 UILabel for iPhone屏幕,因为mylable属性中没有xleft。 如何在屏幕上居中对齐?

3 个答案:

答案 0 :(得分:1)

您要查找的属性是framecenter属性。在这种情况下,center可能是您最好的选择。你需要做的就是这样:

CGPoint newCenter = myLabel.center;
newCenter.x = self.view.center.x;
myLabel.center = newCenter;

myLabel.center = CGPointMake ( self.view.center.x, myLabel.center.y );

使用autolayout或autoresizingmask维护中心对齐有更多高级方法。如果您有兴趣了解它们(自动布局是最强大的并且在某些方面用户友好),我建议您观看有关自动布局的WWDC 2012 sessions

答案 1 :(得分:1)

确定对象具有哪些类型属性的最佳方法是使用类引用。当您第一次查看UILabel class reference时,您会看到没有用于调整标签视图的属性。

但是如果你看看最顶层,你可以看到UILabel继承的地方。您可以看到它继承自UIView,因为您询问如何调整屏幕上的标签位置(视图),因此查看所需内容是有意义的。

点击UIView,您将直接进入it's reference。向下滚动,直到看到“任务”列表,其中有几个类别,每个类别都有许多属性。您对“边界和框架矩形”类别感兴趣,其中有一个名为“框架”的属性。

现在我们已经确定我们可以通过myLabel.view.frame设置UILabels框架

但您可能想知道如何设置框架,因此您需要在您正在查看的类引用中单击“框架”。

您将看到该帧的类型为CGRect,因此您可以使用CGRectMake来设置帧。但现在你问我该怎么做,所以我们点击CGRect reference

你可以看到CGRect是一个由CGPoint和CGSize组成的结构,如有必要,请查看它们以了解它们是如何定义的。

我花了这个时间来解释使用文档的流程,以便您将来可以自己完成。你可以在别人的帮助下生存一段时间,但最终你需要深入研究文档并为自己找出答案。

简而言之,您可以使用以下方法设置标签的位置:

myLabel.frame = CGRectMake(self.view.frame.size.width/2-someWidth/2, self.view.frame.size.height/2-someHeight/2, someWidth, someHeight);

其中someWidth和someHeight是float类型的自定义变量,self.view是某些superview,你想要将标签居中。

我没有测试代码,但相信这应该有效。祝你好运。

答案 2 :(得分:0)

这有效:

mylabel.center = CGPointMake(CGRectGetMidX(self.view.bounds), mylabel.center.y);