2

アプリにいくつかのUILabelオブジェクトがあり、ボタンが押されたときにそれらの値を変更します。シミュレーターと古い iPhone では正常に動作しますが、iPhone 4 で試してみると、ラベルの以前のテキストは消えず、新しいテキストの後ろに表示されます (まあ、時々消えて正しいテキストだけが表示されます)。と表示されますが、ほとんどの場合、正しく動作しません)。

これはコードです(これはそれを行うだけのメソッドでlehenPantallaあり、UIViewControllerであり、テキストを設定するために使用される変数はパラメーターとして渡される int です):

self.lehenPantalla.firstPlayerSet.text = [NSString stringWithFormat:@"%d",localFirstPlayerSet];
self.lehenPantalla.secondPlayerSet.text = [NSString stringWithFormat:@"%d",localSecondPlayerSet];
self.lehenPantalla.firstPlayerGames.text = [NSString stringWithFormat:@"%d",localFirstPlayerGames];
self.lehenPantalla.secondPlayerGames.text = [NSString stringWithFormat:@"%d",localSecondPlayerGames];

これは一般的なエラーですか? これが iPhone 4 のせいなのか、それとも iOS 5.1 を使っている (もう一方の電話は iOS 4 を使っている) からなのかはわかりません。

4

2 に答える 2

0

これは以前ではなく ios5 で表示されているように聞こえるため、おそらくios5 で変更されたビュー コントローラーのコンテインメントに関連している可能性があります。viewDidLoad/ etc などのイベントwillAppearは、適切な封じ込めがなければ、必ずしも適切に呼び出されるとは限りません。

addChildViewcontrollerを追加するために電話しましたlehanPantellaか?

于 2012-04-29T20:55:40.057 に答える
0

iPhone4/ios5でも同様の現象が発生しました。最後に、ラベルを非不透明にするだけで(インターフェイスデザイナーで不透明チェックボックスをオフにする)、問題が解決しました。このラベルを背景 (透明度なし) に描画したい場合は、その下に別のラベルを配置する必要がありました (同じ幅、コンテンツなし)。それが役立つことを願っています。

于 2012-08-06T00:58:10.283 に答える