如何使用UISegmentedController加载单独的NIB /类

时间:2011-07-24 23:15:18

标签: iphone objective-c cocoa-touch uiviewcontroller

我有3个独立的视图控制器及其自己的NIB文件。

我的应用程序中有一个概述视图,其中包含一个可以切换的分段控件。除了复制这三个视图的方法并将它们放入此概述的类之外,是否可以将每个视图作为概览视图的子视图加载,以加深选择哪个段?

- (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 个答案:

答案 0 :(得分:0)

将操作连接到细分控制器:

[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;
    }

}