以编程方式创建的UILabel在iOS 6中不起作用

Sco*_*oop 2 uilabel ios ios6

我以编程方式在我的应用程序中创建了一些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];
Run Code Online (Sandbox Code Playgroud)

Mic*_*lum 5

问题是您创建的标签是设备屏幕的两倍宽,并且设置少量文本以使其居中,从而导致文本脱离屏幕.记住CGRect使用的是点而不是像素.另外,我测试了你的代码并且不得不用"alloc"替换"new"以使其正常工作,我建议你也这样做.

完整正确的行将是:

label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,popUpWidth,50)];
Run Code Online (Sandbox Code Playgroud)