私は UIPickerView を持っています。そのデリゲートで、行のビューをカスタマイズしようとしています。3.1 SDK を使用しています。
したがって、デリゲートには次のものがあります。
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
// view.backgroundColor = [UIColor redColor];
return view;
}
Apple ドキュメントから: 以前に使用したビュー (ビュー パラメーター) が適切な場合は、それを返します。別のビューを返すと、以前に使用されていたビューが解放されます。ピッカー ビューは、返されたビューを行の四角形の中央に配置します。
これを実行すると、UIPickerView コントロールに項目がなく、しばらくするとクラッシュします。この特定のメソッド (デリゲートのオプション) を削除すると、titleForRow メソッドで設定したラベルが表示され、クラッシュしなくなります。
私はココア(およびココアタッチ)にかなり慣れていないため、view.backgroundColorが機能するかどうかはわかりませんが、変更されていない古いビューを返す場合でも(ほとんどの行でこれを行う必要があります)、アプリがクラッシュします。
私は何か間違ったことをしていますか?