mee*_*ans 7 iphone objective-c ipad
我跟随这个例子:http://doronkatz.com/ipad-programming-tutorial-hello-world.这个例子效果很好.
现在我想在splitview中为3个选项卡和每个选项卡提供一个新的navigationcontroller.但我不知道如何实现它.我转到这段代码:
- (void)setDetailItem:(id)newDetailItem {
if (detailItem != newDetailItem) {
[detailItem release];
detailItem = [newDetailItem retain];
// Update the view.
navigationBar.topItem.title = detailItem;
if ([detailItem isEqualToString:@"Test"]) {
TestViewController *testViewController = [[TestViewController alloc] initWithNibName:@"TestView" bundle:nil];
[self.navigationController pushViewController:testViewController animated:NO];
[mapViewController release];
}
if ([detailItem isEqualToString:@"Test2"]) {
}
}
if (popoverController != nil) {
[popoverController dismissPopoverAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
但我知道我实际上不必使用'pushviewcontroller',我只想从这一点开始一个新的navigationcontroller,因此对于splitview中的每个选项卡.我怎么能做到这一点?我知道这是非常基本的,但我无法弄明白.
谢谢.
如果我理解正确的话,您有一个 UISplitViewController,并且您希望有三个 UINavigationController 作为详细视图。在这种情况下,如果在 UISplitViewController 类中实现,则以下内容将起作用:
if ([detailItem isEqualToString:@"Test"]) {
TestViewController *testViewController = [[TestViewController alloc] initWithNibName:@"TestView" bundle:nil];
//since self.viewControllers is immutable, let's make our own temporary copy.
NSMutableArray *tempArray = [self.viewControllers mutableCopy];
//switcheroo with the new view controller
[tempArray replaceObjectAtIndex:1 withObject:testViewController];
// our new view controller is retained by the array, so let's release it
[testViewController release];
//set the new array to be displayed
self.viewControllers = tempArray;
//clean up - out mutableCopy returns a retained object
[tempArray release];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1980 次 |
| 最近记录: |