1

私は初心者で、UILabel フィールドのテキスト プロパティを設定する iOS プロジェクトを持っています。

self.nameLabel.text = @"abcd";

質問

  • 新しいテキスト値を表示するには、ラベルの setNeedsDisplayInRect を呼び出す必要がありますか?

いくつかのテストに基づく私の理解:

  • setNeedsDisplayInRect を呼び出さずに、ラベルのテキストが更新されました。
  • しかし、それが偶然だったのか、明示的にsetNeedsDisplayを呼び出さずにラベルが新しい値を表示することが保証されているのかを知りたい

ありがとう

4

2 に答える 2

1

Aは、そのプロパティUILabelを設定すると、更新に必要なすべてのことを行います。text他のプロパティ ( fonttextColorなど) についても同じです。(IB を使用していない場合) 手動で行う必要があるのは、frame.

于 2012-02-23T20:32:34.463 に答える
0

テキストの更新にもかかわらずラベルが更新されない場合は、CPU が完全に使用されている可能性があり、次のコマンドで更新が強制されます。

self.nameLabel.text = @"abcd";
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
于 2016-04-06T15:03:34.233 に答える