Xcode 标签未居中
Xcode Label not centered
以编程方式创建滚动视图,然后添加标签。
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 错误还是我遗漏了什么?
这是因为您为标签创建框架的方式是在滚动视图的中点开始框架。
这将偏移起始 X 点以使您的标签居中:
errLabel.frame = CGRectMake(CGRectGetWidth(scrollView.frame)/2.00 - 60,50,120,20)
以编程方式创建滚动视图,然后添加标签。
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 错误还是我遗漏了什么?
这是因为您为标签创建框架的方式是在滚动视图的中点开始框架。
这将偏移起始 X 点以使您的标签居中:
errLabel.frame = CGRectMake(CGRectGetWidth(scrollView.frame)/2.00 - 60,50,120,20)