我很难描述这个问题,我将使用截图.它们都来自我的模拟器,当我在我的测试时iPodTouch4,它是相同的.我有几个UILabel,这是图片中的rects.

请注意,某些rects右侧有黑线,这是意料之外的,因为除了backgoundColor和frame之外,我没有编写任何额外的行为.
当我UILabel改为UIView(没有其他改变),每件事都变得正常!

当UILabel在视网膜显示器中使用时,我们可以清楚地看到一些具有不同宽度的镜片,但根据我的代码和日志,它们具有相同的宽度!真的很奇怪!
我无法弄清楚为什么.它可能是一些特别的东西UILabel,但我在文档中找不到任何地方.
[这是我创建标签的方式]
NSMutableArray *labels = [NSMutableArray array];
for (NSString *day in [self getDaysOfTheWeek]) {
UILabel *dayOfWeekLabel = [[UILabel alloc] initWithFrame:CGRectZero];
[labels addObject:dayOfWeekLabel];
}
self.dayOfWeekLabels = labels;
Run Code Online (Sandbox Code Playgroud)
[这是我设置框架的地方]
int count = 0;
for (UILabel *dayLabel in self.dayOfWeekLabels) {
dayLabel.frame = CGRectMake(CELL_BORDER_WIDTH + count*(self.cellWidth+CELL_BORDER_WIDTH), CELL_BORDER_WIDTH, self.cellWidth, self.daysHeader.frame.size.height);
dayLabel.backgroundColor = self.dateBackgroundColor;
count++;
}
Run Code Online (Sandbox Code Playgroud)
正如我上面提到的,只需在这些代码中将这些UILabel更改为UIView,使它们看起来不同.
你能做一个吗?
dayLabel.autoresizingMask = 0;
dayLabel.frame = [...];
NSLog(@"frame: %@", NSStringFromCGRect(dayLabel.frame));
Run Code Online (Sandbox Code Playgroud)
?
检查您是否只有整数非小数维(42.000或1337.000,而不是42.500或1337.1234).这可能是显示问题的根源.
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |