如何在顶部中心设置标签

时间:2013-03-12 08:31:34

标签: ios objective-c

我想在视图的顶部中心设置一个标签,我已经尝试过这个

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(self.myView.center.x, 25, 92, 46)];

但它不是我想要的中心,这是它的样子:http://i49.tinypic.com/e17mty.png

我希望标签的中间位于x中心,而不是中心标签的开头。

8 个答案:

答案 0 :(得分:1)

最简单的方法是使标签的框架宽度等于视图的框架宽度,并将标签的对齐方式设置为中心。

希望这有助于!!!

答案 1 :(得分:1)

试试这个,

UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];
    lbl.textAlignment=UITextAlignmentCenter;

答案 2 :(得分:0)

尝试将正确的x位置设为view.center.x - (labelwidth/2)。同时将textAlignment设置为center

答案 3 :(得分:0)

使用CGPointMake设置标签中心。

lblAppTitle.center= CGPointMake(self.view.bounds.size.width / 2, 25);
[lblAppTitle setTextAlignment:NSTextAlignmentCenter];

答案 4 :(得分:0)

设置它的中心而不是设置rect

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 25, 92, 46)];
label.center = self.myView.center;
//Also if your frame is bigger than text then you can set this also
label.textAlignment = UITextAlignmentCenter;

答案 5 :(得分:0)

试试这个

int x=(self.myView.frame.size.width-92)/2;
UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(x, 25, 92, 46)];
lbl.textAlignment=UITextAlignmentCenter;

答案 6 :(得分:0)

试试这个:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 92, 46)];
label.center = CGPointMake(label.bounds.size.width / 2, 25);

或者这个:

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(self.myView.center.x - 46, 25, 92, 46)];

答案 7 :(得分:0)

它完全符合你的编程。不幸的是,UI编程总是涉及一些基本的数学。

一种可能的解决方案: 用任何位置的一些框架初始化它,但尺寸合适。 然后相应地设置标签视图的中心属性。

[label setCenter:CGPointMake(self.myView.center.x, 25)];

或者只是以某种方式设置框架,它从myView的左侧到右侧占用所有空间,只需将文本对齐方式设置为NSTextAlignmentCenter。

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 25, self.myView.frame.size.width, 46)];
label.textAlignment = NSTextAlignmentCenter;

或者相应地计算左上角并在初始化时设置帧。使用中心位置并减去宽度的一半。或者使用myView的完整内容,减去with,然后使用2。

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(self.myView.center.x-92/2, 25, 92, 46)];

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake((self.myView.frame.width-92)/2, 25, 92, 46)];