ビューのライフサイクルで、IBに置かれたオブジェクトの値を変更できますか?Interface Builderオブジェクトのプロパティはいつ設定できますか?
私はIBのビューに入れたステッパーとUIImageViewを持っています。 ViewDidLoadにステッパーミニとUIImageViewの画像のようないくつかの値を入れましたが、ビューが表示されたらステッパーミニとIBで設定された画像が使用されます。
ビューのライフサイクルで、IBに置かれたオブジェクトの値を変更できますか?Interface Builderオブジェクトのプロパティはいつ設定できますか?
私はIBのビューに入れたステッパーとUIImageViewを持っています。 ViewDidLoadにステッパーミニとUIImageViewの画像のようないくつかの値を入れましたが、ビューが表示されたらステッパーミニとIBで設定された画像が使用されます。
ああ。私は問題を見る。私は値を表示していたUILabelを持っていましたが、まだ値が変更されるまでUIStepperの値に接続するように設定していませんでした。私の悪い。みんなありがとう!
試している場所でプロパティを設定できます。
これは、コンパイラは気にしないバグにつながる:
は、あなたがIBであなたのIBOutletsを接続するのを忘れ可能である[super viewDidLoad]
- (void)viewDidLoad
{
[super viewDidLoad];
// adjust views here
}
を呼び出すようにしてください。基本的に、あなたのスライダーコードは
[nil setMinimumValue:newVal];
に相当します私は、テストプログラムに次のコードを実行することができますし、苦情やクラッシュは、あなたがviewDidLoad
にこれらの値を設定することができます
UIStepper * step = nil;
step.minimumValue = 5;
を起こりません。 viewDidLoad
ソースコードを投稿した場合は役に立ちます。
私はあなたのコードを見ていないので、何が間違っているかを推測できます。私はあなたのビューコントローラは、ステッパーや画像ビューを参照する別のプロパティを参照する性質を持っている疑いがある、とあなたはこのように、これらのプロパティを使用して値を設定している:あなたのコードは、その基本的な構造を持っている場合
- (void)viewDidLoad {
[super viewDidLoad];
self.stepper.minimumValue = minValueForStepper();
self.imageView.image = imageForImageView();
}
とそうではありませんあなたはおそらく、あなたのペン先のそれらのプロパティを接続するのを忘れていました。
は、私はあなたが非常によく質問を理解していけない、しかし、あなたはあなたのIBOutletsを設定したい場合は、持っている場合は、たとえば、プログラムで行うことができます:あなたはそのようなUIImageViewのプロパティの1つを設定することができます
IBOutlet imageView *theImageView;
を:
[theImageView setImage:[UIImage imageNamed:@"theimage.png"]];
あなたが興味のあるすべてのクラスをXcodeのオーガナイザビューで調べることができます。ここでは、そのプロパティ、メソッド、デリゲートメソッドなどをすべて表示できます。
ステッパーについては、私は ' ([スーパーのviewDidLoad]後)のviewDidLoadで、次ている[self.animalCountStepper setMinimumValue:1.0];' 良い測定のために、私はまた、ステッパーの最小値はにIBに設定されています検査官。しかしそれはまだ0と言います。 –
@WillLarche NSLog(@ "stepper%@"、self.animalCountStepper);それが無ければ、RobのようなIBOutletを接続するのを忘れてしまったので、問題があるかもしれません。 –