私はIBで作成されたカスタムUITableViewCellを持っています。 プロパティを使用してオブジェクトのクラスを決定できますか?
すべてのセルにこの一般的なレイアウトが適用されます。しかし、いくつかのセルでは、2つの白いビューはclassAになり、他のセルでは2つの白いビューはclassBになります。 (両方のUIViewのサブクラス)。私はプロパティを使って2つのビューの特定のサブクラスを割り当てようとしました。
Iは、細胞の性質のような2つのビュー
@property (nonatomic, retain) IBOutlet UIView *leftView;
@property (nonatomic, retain) IBOutlet UIView *rightView;
そしてIは、テーブルビューを作る私のビューコントローラで、Iは、タイプsubclassAのオブジェクトを作成しleftViewとして割り当てる試み、leftViewように設定サブクラスAの型になります。他のセルでは、私はサブクラスBのオブジェクトを作成し、それをleftviewに設定します。そのため、それらのセルでは、ビューはサブクラスbになります。
//equationTextField is a subclass of UIView
EquationTextField *textField = [[EquationTextField alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; // arbitrary frame
cell.leftView = textField;
ただし、このコードは機能しません。私のビューの特定のクラスを割り当てるより良い方法はありますか?
あなたの問題が何であるかはっきりしていない - あなたはUIViewのように、あなたの左ビューと右のビューを定義し満足していませんか? – jrturton
私は、UIViewの2つのサブクラスsubclassAとsubclassBを持っています。テーブルのいくつかのセルでは、2つのビューはサブクラスAである必要があります。他のセルでは、ビューはサブクラスBである必要があります。私はIBでビューを作成したので、コードでそれらのビューを参照する必要があります。したがって、両方のサブクラスをそのプロパティに割り当てることができるので、UIView型のプロパティを作成しました。私は、左のビューをサブクラスAまたはサブクラスBにするかどうかを宣言する方法が必要です – Mahir
あなたの質問を誤解していない限り、問題はありません。 cellForRowメソッドで設定を行い、インデックスパスに応じて使用する必要のあるクラスを使用します。 – sosborn