Objective-C如何加载单独的nib/类使用 UISegmentedController

发布时间: 2016/9/23 0:21:57
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有自己的 NIB 文件 3 单独的视图控制器。

我有一个概述在我与你可以切换通过分段控制的应用程序中查看。而不是复制的这些视图的方法,将它们放到本概述类所有 3 都是否可能只是加载每个视图作为概览视图深化的子视图的选定部分?

- (void)segmentedControl:(SVSegmentedControl*)segmentedControl didSelectIndex:(NSUInteger)index
{
    switch (index)
    {
        case 0:
        {
            MusclesTableViewController *musclesTableViewController = [[MusclesTableViewController alloc] initWithNibName:@"MusclesTableViewController" bundle:nil]; 
            [self.view addSubview: musclesTableViewController]; 
            [musclesTableViewController release];  
        }
            break;
        case 1:
            // load second nib and add it as a subview    
            break;
        default:
            break;
    }
}

解决方法 1:

连接到您的部分控制器的行动︰

[yourSegmentedControl addTarget:self action:@selector(changeSegment:) forControlEvents:UIControlEventValueChanged];

使用你的方法来加载所需的子视图︰

- (void)changeSegment:(id)sender {
    UISegmentedControl *segment = sender;

    switch ([segment selectedSegmentIndex]) {
        case 1:
            // load first nib and add it as a subview
        break;
        case 2:
            // load second nib and add it as a subview    
        break;
        default:
        break;
    }

}
官方微信
官方QQ群
31647020