6

我有一个UILabel带有属性的字符串,我在 a 中创建UIScrollView

CGRect frame = self.view.frame;
frame.origin.x = 10;
frame.size.width -= 10;
frame = CGRectIntegral(frame);

UILabel *textView = [[UILabel alloc] initWithFrame:frame];
textView.numberOfLines = 0;
textView.lineBreakMode = NSLineBreakByWordWrapping;
textView.backgroundColor =[UIColor clearColor];
[self addSubview:textView];

尽管确保使用 设置了框架CGRectIntegral,iOS 模拟器仍将标签显示为未对齐。

未对齐的标签

为了试图摆脱错位,我也试过这个没有任何运气:

textView.frame = CGRectIntegral(textView.frame);
textView.bounds = CGRectIntegral(textView.bounds);

带有属性的字符串可以UILabel在scrollView中正确对齐吗?

4

2 回答 2

1

我不确定它是否会解决您的问题,但是尝试另一种方法不会有任何损失:

CGRect frame = CGRectOffset(CGRectInset(self.view.frame,5,0),5,0);
UILabel *label = [[UILabel alloc] initWithFrame:frame];
label.text = @"Test";
[self addSubview:label];

如果它不起作用,则错误可能来自您的标签本身(可能是 、adjustsFontSizeToFitWidth或)。你所有的标签代码都在这里?lineBreakModesizeToFitcontentMode

尝试增量调试,因为它可能根本不是来自框架。

于 2013-10-22T09:15:34.020 回答
0

您已设置 frame.origin.x =10; 尝试将其设置为零。

于 2013-10-16T06:01:58.487 回答