我想在视图的顶部中心设置一个标签,我已经尝试过这个
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(self.myView.center.x, 25, 92, 46)];
但它不是我想要的中心,这是它的样子:
我希望标签的中间位于x中心,而不是中心标签的开头。
答案 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)];