2011-10-18 64 views
0

有4個項目上MyViewController.xib窗口:UIViewController的視圖可以包含另一個UIView對象?

  1. 文件所有者(類型MyViewController)
  2. 急救員(類型UIResponder的)
  3. 查看(類型的UIScrollView)
  4. FloatingView(類型UIView)

ViewFloatingView都包含一些控件(如標籤和文本字段......),並使用IB進行設計。 FloatingView不能佔用全屏;而且我的應用功能需要FloatingView在用戶點擊屏幕時移動到新點擊的位置。

實例變量UIView *myFloatingView;被定義爲屬性/ IBOutlet並被合成,該屬性連接到IB上的FloatingView視圖。

viewDidLoad方法,我加入myFloatingView我的看法控制器的觀點作爲其子視圖爲:

-(void)viewDidLoad { 
    [super viewDidLoad]; 

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

蘋果文件說,每個UIViews應該有一個相應的視圖控制器。但是,我在這裏只使用了一個視圖控制器。我將浮動UIView對象視爲常規控件,或稱爲面板。我將來可能允許用戶隱藏/取消隱藏此浮動視圖。

這是一個很好的做法,還是有更好的方法(任何示例)來做我想做的事情?

非常感謝您的幫助。

+0

很好的做到這一點。我認爲我們不需要爲我們創建的每個視圖使用不同的視圖控制器。這也將非常困難。 – EmptyStack

回答

1

你在做什麼很好。事實上,viewController通常可以控制整個層次結構。另外,你說你的浮動視圖與你的根視圖在同一個筆尖?如果是這樣,你可以將它作爲子視圖,而不是添加爲viewdidLoad中的子視圖。

相關問題