2

アプリでいくつかの UILabels をプログラムで作成します。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];
4

2 に答える 2

5

問題は、デバイスの画面の 2 倍の幅のラベルを作成し、少量のテキストを中央に配置するように設定しているため、テキストが画面からはみ出すことです。CGRect はピクセルではなくポイントを使用することに注意してください。さらに、私はあなたのコードをテストし、正しく動作させるために「new」を「alloc」に置き換える必要がありました。同じことをお勧めします。

完全な正しい行は次のようになります。

label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,popUpWidth,50)];
于 2012-09-21T09:33:27.303 に答える
1

呼び出し[UILabel new]は呼び出しに似ている[[UILabel alloc] init]ため、コードを次のように変更する必要があります。

label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,popUpWidth,50)];
于 2012-09-21T09:35:10.173 に答える