标签栏应用程序中的表视图

时间:2011-10-09 00:56:30

标签: iphone ios xcode tableview tabbar

我一直在寻找几周,并且没有运气试图找到Xcode 4的教程,展示如何将表视图添加到Tab Bar应用程序。我想知道你是否能指出我正确的方向?

由于

1 个答案:

答案 0 :(得分:2)

任何TabBarController教程都应该这样做,因为你将UIViewControllers添加到标签栏。对于表视图,只需创建一个UITableViewController。您应该能够将其添加到选项卡栏控制器...或任何其他视图控制器。例如,如果您发现其他教程使用navigationController执行TabBar ...只需使用UITableViewController替换教程的navigationController部分。 UItableViewControllers上还有很多文档和教程。

例如,如果您在app delegate didfinishLaunchingWithOptions中查看此代码。 Pior对此,创建了一个MyTableViewController(UITableViewController)和其他一些UIViewController。

// View Controllers for tabController - could be UItableViewControllers or any
// other UIViewController.  You will add this to the tabController
NSMutableArray *viewControllers = [[NSMutableArray alloc] init];

MyTableViewController *myTable = [[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil];
[viewControllers addObject:myTable];

SomeOtherUIViewController *other = [[SomeOtherUIViewController alloc] initWithNibName:@"SomeOtherUIViewController" bundle:nil];
[viewControllers addObject:other];    

// add the UIViewControllers to the tabController
[tabController setViewControllers:viewControllers];

// add tabbar and show
[[self window] addSubview:[tabController view]];
[self.window makeKeyAndVisible];
return YES;

然后在您添加到标签栏的每个视图控制器中,确保在其init中将tabbar项添加到它们

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) 
    {
        UITabBarItem *barItem = [[UITabBarItem alloc] 
                             initWithTitle:@"Progress" 
                             image:[UIImage imageNamed:@"report.png"] tag:2];

        [self setTabBarItem:barItem];
        [barItem release];
    }
    return self;
}