使用UI分段控制器在外部视图之间切换

时间:2011-12-13 03:27:39

标签: iphone ios xcode4.2 subview uisegmentedcontrol

我正在尝试创建一个Tab Bar应用程序,其中一个ViewController包含UIToolbarUISegmentedController。我遇到的问题是设置UISegmentedController以在两个视图之间切换,因为我尝试切换的视图是UIWebView的子类,我希望将它们放在单独的文件中。 (例如,不只是在ViewController的“-viewDidLoad”中设置两个视图。

ViewController中方法的代码如下所示:

- (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不是已知的类方法。

提前致谢!

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

看看这个广告:https://github.com/xmartlabs/XLMailBoxContainer。 它在视图控制器中创建UI动画。这些视图控制器可以扩展UITableViewController或任何其他视图控制器。

我希望这能帮到你!