簡単な質問私はマスタービューで標準プログラムを持っている継承継承について
:
MasterViewController.h
enter code here
@interfaceのMasterViewController:のUIViewController
使用描画のためのサブビュー:
MasterViewController.m
frame = CGRectMake(xo, yo, side*width, side*height); // maxSide
backView = [[BackView alloc] initWithFrame:frame];
[backView setBackgroundColor:[UIColor whiteColor]];
[self infoToBackView];
[self.view addSubview:backView];
BackView.h
@interface BackView : UIView
とBackView.mは、そののdrawRectを持っている:私は
- (void)drawRect {
:
:
}
問題は、私はBackViewをしたいということですMasterViewControllerから継承する、つまり私はが必要ですBackview.hは、それがMasterViewControllerから必要な変数を継承することができます
@interface BackView : MasterViewController
されるように。
問題はこれが機能しないことです。 BackViewはDrawViewで描画できるようにUIViewから継承する必要があります。 infoToBackViewがBackViewに必要な変数を送信する方法である
[self infoToBackView];
[backView setNeedsDisplay];
:したがって、UIViewのBackViewを呼び出す前に、私はそれを、それは、描画に必要な変数を送信する必要があります。
$ 64,000質問:MasterViewControllerから継承し、drawRectを持つバックビューを持つにはどうしたらいいですか?
あなたはObjective-ので、これを行うことはできませんCには複数の継承がありません。ビューコントローラはビューではないので、これを行うべきではありません。あなたはもう少しデザインについて考えるのが良いでしょう。ビューコントローラから変数を継承する必要はありません。ビューコントローラは、その情報を使用してビューに渡す必要があります。 – Abizern
できません。ビュー自体が描画される場合は、UIViewサブクラスである必要があります。なぜ値をビューに渡すのが問題なのですか? –
ビューに値を渡すことは問題ではありません。私はちょうど継承を使用すると簡単になると思った。 – mbs31