3

ビューにロードする実行時に ScrollView を作成するカスタム UIViewController クラスを作成しました。カスタム UIViewController のコンストラクターのコードを参照してください。

        initControl(id, canEdit);

        _controllers = new NSMutableArray(0); //required to keep view controllers around

        _scrollView = new UIScrollView();
        _scrollView.BackgroundColor = UIColor.Green;
        this.View = _scrollView; 

ViewDidAppear と ViewWillAppear は正常に呼び出されます。

ViewDidLoad は呼び出されませんが、ビューが画面に正常に表示されているため、理由はわかりません。

何か案は?

4

2 に答える 2

2

self.viewにアクセスするときにviewDidLoadメソッドが呼び出されています

例:

1)

- (id) init {
      self = [super init];
      if (self)
      {
          ...
          [self.view addSubview: self.toolbar];
      }
 }

2)

viewContrl = [[MyViewController alloc] init];
viewContrl.view = webTopView;

3)

viewContrl = [[MyViewController alloc] init];
[viewContrl.view addSubview: webTopView];
于 2012-12-14T04:20:48.363 に答える
0

ViewDidLoadは、ビューを割り当てるときに呼び出されます。したがって、ビューを1回割り当て、addSubviewを使用して毎回追加するだけの場合は、最初にのみ呼び出されます。追加するたびに呼び出したい場合は、毎回割り当てる必要があります。また、ビューがすでに割り当てられている場合は、割り当てる前にビューを解放してメモリ管理を処理します。もう1つの方法は、実行する操作を含むメソッドを作成し、addSubviewの後に呼び出すことです。それはあなたの問題を解決するかもしれません、あなたが疑問を持っているならば、それから私に尋ねてください。

于 2012-12-14T05:02:17.700 に答える