我以编程方式在我的应用中创建了一些UILabel。在iOS 5中,这段代码运行良好。 在iOS 6中,标签似乎没有出现在屏幕上。
我没有看到任何警告,代码肯定会执行,但没有标签。
我尝试过搜索类似的问题但找不到任何东西。我的标签实际上已经消失了。
任何帮助表示感谢。
float popUpWidth = 700.0
//Add label
UILabel *label;
label = [[UILabel new] initWithFrame:CGRectMake(0,0,popUpWidth,50)];
label.text = @"Notes";
label.textAlignment = UITextAlignmentCenter;
label.backgroundColor = [UIColor blackColor];
label.textColor = [UIColor whiteColor];
//Add label to view
[self.view addSubview:label];
答案 0 :(得分:5)
问题是您创建的标签是设备屏幕的两倍宽,并设置少量文本以使其居中,从而导致文本偏离屏幕。记住CGRect使用的是点而不是像素。另外,我测试了你的代码并且不得不用“alloc”替换“new”以使其正常工作,我建议你也这样做。
完整正确的行是:
label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,popUpWidth,50)];
答案 1 :(得分:1)
致电[UILabel new]
就像致电[[UILabel alloc] init]
,所以您应该像这样更改代码:
label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,popUpWidth,50)];