2011-10-18 11 views
0

MyViewController.xibウィンドウ上の4つの項目があります。UIViewControllerのビューに別のUIViewオブジェクトを含めることはできますか?

  1. ファイルの所有者(タイプUIResponderの)
  2. ファーストレスポンダ(タイプUIScrollViewのの)
  3. ビュー(タイプMyViewControllerのは)
  4. (型のUIViewの)
  5. FloatingView

ViewFloatingViewには、いくつかのコントロール(ラベルやテキストフィールドなど)があり、IBを使用して設計されています。 FloatingViewはフルスクリーンを占めてはいけません。ユーザーが画面をタップすると、新しくタップされた場所に移動するには、私のアプリの機能でFloatingViewが必要です。

インスタンス変数UIView *myFloatingView;はプロパティ/ IBOutletとして定義され、合成され、IBのFloatingViewビューに接続されています。私のようにそのサブビューとしての私のビューコントローラのビューにmyFloatingViewを追加していviewDidLoad方法で

、:

-(void)viewDidLoad { 
    [super viewDidLoad]; 

    CGRect myFrame = CGRectMake(50, 50, 150, 150); //initial location 
    self.myFloatingView.frame = myFrame; 
    [self.view addSubview:self.myFloatingView]; 
} 

アップルのドキュメントでは、各UIViewsは、対応するビューコントローラを持つべきであると言います。ただし、ここでは1つのビューコントローラのみを使用しています。私はフローティングUIViewオブジェクトを通常のコントロールとして扱っています。私は将来、この浮動表示を非表示/非表示にすることができます。

これは良い方法ですか、私がやろうとしていることを行う良い方法(例)ですか?

ありがとうございました。

+0

このようにするのはその罰金です。私たちが作成するビューごとに異なるView Controllerが必要ではないと思います。それも本当に難しいでしょう。 – EmptyStack

答えて

1

あなたがしていることは問題ありません。実際、viewControllerは多くの場合、階層全体を制御できます。また、あなたのfloatingViewはあなたのルートビューと同じペン先にあったとおっしゃいましたか?もしそうなら、おそらくviewdidLoadのサブビューとして追加するのではなく、そこにサブビューすることができます。

関連する問題