2011-12-13 48 views
0

我想製作一個標籤欄應用程序,其中一個ViewController包含UIToolbarUISegmentedController。我碰到的問題是設置UISegmentedController在兩個視圖之間切換,因爲我試圖切換的視圖是UIWebView的子類,我希望將它們放在單獨的文件中。 (例如,不只是在視圖控制器的「-viewDidLoad」建立兩種觀點使用用戶界面切換外部視圖分段控制器

在視圖控制器的方法的代碼如下所示:

- (IBAction)segmentedControlChanged 
{ 
switch (segmentedControl.selectedSegmentIndex) 
    {case 0: 
     [self.view addSubview:videosView]; 
     [imagesView removeFromSuperview]; 
     NSLog(@"1"); 
     break; 
case 1: 
     [self.view addSubview:imagesView]; 
     [videosView removeFromSuperview]; 
     NSLog(@"2"); 
     break; 
default: 
     break; 
} 

如果我有videosView.h,videosView。 m,imagesView.h和imagesView.m導入到本文檔的頂部並設置爲UIWebView的子類

我收到的錯誤似乎表明它不接受addSubview中的imagesView或VideosView,也removeFromSuperview不是已知的類方法。

在此先感謝!

回答

0

1-的UIViewController並不removeFromSuperview迴應,一個UIView確實

2- addSubview所需的UIView一個子類,要傳遞給它,而不是一個UIViewController

- (IBAction)segmentedControlChanged 
{ 
switch (segmentedControl.selectedSegmentIndex) 
    {case 0: 
     [self.view addSubview:videosView.view]; 
     [imagesView.view removeFromSuperview]; 
     NSLog(@"1"); 
     break; 
case 1: 
     [self.view addSubview:imagesView.view]; 
     [videosView.view removeFromSuperview]; 
     NSLog(@"2"); 
     break; 
default: 
     break; 
} 
+0

感謝您的快速回復 - 我只是對我的文章進行了快速更改,因爲我相信我的videosView和imagesView實際上是UIWebView的子類。這會改變什麼嗎? –

+0

UIWebView繼承自UIView,因此您不應該使用原始代碼獲取這些警告。你能發佈這些類的頭文件嗎? – aryaxt

+0

我必須在我的imagesView和videosView文件的實現中定義'UIView * view'嗎? –