1

私はobjective-cとiPhoneを初めて使用しますが、過去に多くのJavaコーディングを行ってきました。私が通常最終的に答えを見つけることができるv。基本的なことについて髪を引き裂くが、これはそうではない!

ラベルの背景色を変更したいのですが、以下のコードを使用してください。iPhoneシミュレーターで実行しても、何をしても変わりません。そこにいくつかの設定がありますか、私は非常に愚かな質問をしているように感じますが、本当に答えを見つけることができません。これは開発環境のセットアップに問題がありますか?

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    NSLog(@"setting label to black color");
    self.colourLabel.backgroundColor = [UIColor blackColor];
}
4

3 に答える 3

0

Objective-C では、オブジェクトにメッセージを送信しても問題ないことを思い出してください。そのnilため、問題self.coulourLabelはまだnilその時点である可能性があります。

どのように、どこでインスタンス化しますか? を設定しましたIBOutletか?

于 2012-07-06T14:28:28.510 に答える
0

タイプ UILabel の IBOutlet を作成し、それをインターフェイス ビルダーのラベルに接続して、次のことを行ってみませんか。

yourLabel.backgroundColor = [UIColorwhateverColor];

colorLabelプロパティとして設定しましたか?相互に通信したい 2 つの別個のクラスがない限り、その必要はないからです。

于 2012-07-06T14:36:14.287 に答える
0

質問のコメントに@Dimaからの提案を強調する答えを残すと思っただけです-つまり、プロジェクト>クリーン、次にiOSシミュレーター>コンテンツと設定のリセット。

コードで作成された UIButton で発生していた同様の問題を解決したので、IBOutlet の問題ではありませんでした。コードに加えた変更 (プロパティを完全に削除しても) は、シミュレーターで実行したときに表示されませんでしたが、デバイスでは正常に動作していました。クリーンを実行するだけで十分だと思っていましたが、コンテンツと設定のリセットを実行するまで、期待どおりに動作し始めませんでした.

誰かがこれが役に立つことを願っています...

于 2012-09-04T10:24:23.657 に答える