Xcode 标签未居中

Posted

技术标签:

【中文标题】Xcode 标签未居中【英文标题】:Xcode Label not centered 【发布时间】:2020-01-10 16:12:17 【问题描述】:

以编程方式创建滚动视图,然后添加标签。

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)];

[self.view addSubview:scrollView];

然后标注

UILabel *errLabel = [[UILabel alloc] init];
errLabel.text = @"Top Label";
//errLabel.frame = CGRectMake(self.view.frame.size.width/2,50,120,20);
errLabel.frame = CGRectMake(CGRectGetWidth(scrollView.frame)/2.00,50,120,20);
errLabel.textAlignment = NSTextAlignmentCenter;
errLabel.layer.borderColor = [UIColor grayColor].CGColor;
errLabel.layer.borderWidth = 3.0;
[errLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
[scrollView addSubview:errLabel];

在 iPhone 8、11 Pro Max 和最大 iPad 的模拟器中,标签位于中心右侧。这是 ios 11 的错误还是我遗漏了什么?

【问题讨论】:

PS - 插入我的 iPhone 并在其上进行测试 - 仍然在中心右侧.... 【参考方案1】:

这是因为您为标签创建框架的方式是在滚动视图的中点开始框架。

这将偏移起始 X 点以使您的标签居中:

errLabel.frame = CGRectMake(CGRectGetWidth(scrollView.frame)/2.00 - 60,50,120,20)

【讨论】:

谢谢。添加了“-60”(标签的 120 帧宽度的一半)并居中。 您也可以创建一个约束以确保无论文本长度如何,它都位于中心。 [[errLabel.centerXAnchor constraintEqualToAnchor:self.scrollView.centerXAnchor] setActive:YES]; 解释如下:***.com/questions/27624133/…

以上是关于Xcode 标签未居中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Swift 3 Xcode 8 居中对齐多个标签

Xcode Autolayout:标签在两个邻居之间居中[重复]

UL 标签未以边距居中:0 自动;样式

Xcode 导航栏、标签栏、表格视图标题未显示

使用 Xcode 的 iOS 应用程序中未显示按钮和标签

使用自动布局 Xcode 居中