Tôi muốn tạo bộ điều khiển thanh tab và bộ điều khiển điều hướng theo lập trình. Mã của tôi làm việc cho đến nay nó cho thấy một thanh tab ở phía dưới, nhưng OptionViewController không nói bất cứ điều gì (không có tiêu đề) trên nút của thanh tab thứ hai. Điều buồn cười là, khi tôi nhấp vào nút mà không có bất cứ điều gì trên đó, tiêu đề xuất hiện (và như vậy là quan điểm của mình), ai đó có thể giải thích cho tôi những gì tôi đang làm sai? Tôi cố gắng để sử dụng đoạn mã sau:Thêm một TabBarController lập trình
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
NSMutableArray *tabItems = [[NSMutableArray alloc] initWithCapacity:2];
DefaultViewController *dvc = [[DefaultViewController alloc] init];
UINavigationController *dvc_nc = [[UINavigationController alloc] initWithRootViewController:dvc];
[tabItems addObject:dvc_nc];
[dvc release];
[dvc_nc release];
OptionsViewController *ovc = [[OptionsViewController alloc] initWithStyle:UITableViewStyleGrouped];
UINavigationController *ovc_nc = [[UINavigationController alloc] initWithRootViewController:ovc];
[tabItems addObject:ovc_nc];
[ovc release];
[ovc_nc release];
UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = tabItems;
self.tabController = tbc;
[tabItems release];
[tbc release];
[self.window addSubview:self.tabController.view];
return YES;
}
Tôi nghĩ rằng bạn cần phải thêm UINavigationController như một cái nhìn tiểu trong điều khiển thanh Tab với các lớp kiểm soát siêu lớp như UINavigationController –
vấn đề chỉ là tiêu đề bị thiếu, phải không? bạn đang đặt 'tiêu đề' của' OptionsViewConbtroller' ở đâu? Nếu bạn đang thiết lập tiêu đề không có trong phương thức 'init' của bạn thì TabBarController chỉ đọc một tiêu đề trống từ OptionsVC của bạn. Tôi đoán bạn đang thiết lập các tài sản tiêu đề trong sth. như 'viewDidLoad'? – thomas
Tôi đoán là không, vì điều này: [tbc.view addSubview: ovc_nc.view]; làm cho màn hình hoàn toàn trống rỗng! – Mark