我想用Push viewController on PresentViewController
当我最初单击按钮时,我正在加载PresentViewController,下面是我的代码。
- (IBAction)JoinClicked:(id)sender{
JoinWithViewController *detail_view_controller = [[JoinWithViewController alloc] initWithNibName:@"JoinWithViewController" bundle:nil];
[self.view.window.rootViewController presentViewController:detail_view_controller
animated:YES
completion:NULL];
}这很好,但是当我单击PresentViewController上的按钮时,我想按一下我的视图,但是in不按。
--请帮忙,谢谢--
发布于 2013-10-30 06:48:24
JoinWithViewController *detail_view_controller = [[JoinWithViewController alloc] initWithNibName:@"JoinWithViewController" bundle:nil];
[self.navigationController pushViewController:detail_view_controller animated:YES];试着像这样推动viewController。如果您使用TabBar,请在AppDelegate中这样做。如果您创建了TabBar,那么拖放就意味着保留它。按如下所示以编程方式创建TabBar。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UITabBarController *tabController = [[UITabBarController alloc]init];
self.viewController = [[CalculatorViewController alloc] initWithNibName:@"CalculatorViewController" bundle:nil];
UITabBarItem *tab_item1 = [[UITabBarItem alloc]init];
//tab_item1.title = @"Calculator";
tab_item1.image = [UIImage imageNamed:@"Calculator.png"];
[self.viewController setTabBarItem:tab_item1];
UINavigationController *nav1 = [[UINavigationController alloc]initWithRootViewController:self.viewController];
ShowPhoneViewController *phone = [[ShowPhoneViewController alloc]init];
UITabBarItem *tab_item2 = [[UITabBarItem alloc]init];
tab_item2.title = @"Latest Mobiles";
tab_item2.image = [UIImage imageNamed:@"Mobile.png"];
[phone setTabBarItem:tab_item2];
UINavigationController *nav2 = [[UINavigationController alloc]initWithRootViewController:phone];
CurrencyConvertorViewController *currency = [[CurrencyConvertorViewController alloc]init];
UITabBarItem *tab_item3 = [[UITabBarItem alloc]init];
tab_item3.title = @"Units Convertor";
tab_item3.image = [UIImage imageNamed:@"Dollar.png"];
[currency setTabBarItem:tab_item3];
UINavigationController *nav3 = [[UINavigationController alloc]initWithRootViewController:currency];
SettingsPageViewController *setting = [[SettingsPageViewController alloc]init];
UITabBarItem *tab_item4 = [[UITabBarItem alloc]init];
tab_item4.title = @"Settings";
tab_item4.image = [UIImage imageNamed:@"Settings.png"];
[setting setTabBarItem:tab_item4];
UINavigationController *nav4 = [[UINavigationController alloc]initWithRootViewController:setting];
tabController.viewControllers = [NSArray arrayWithObjects:nav1, nav2, nav3, nav4, nil];
self.window.rootViewController = tabController;
[self.window makeKeyAndVisible];
return YES;
}我希望你现在
发布于 2013-10-30 06:49:42
pushviewcontroller是UINavigationController的特性,您可以将一个视图控制器推到另一个vierw控制器上。在这里,您使用单个视图控制器作为rootview控制器,因此要么必须将rootviewcontroller更改为UINavigationcontroller,要么可以使用"addSubview method“在当前视图控制器上添加新的viewcontroller。
但是更好的选择是将uinavigationcontroller添加为rootviewcontroller.
AppDelegate.m -(UIApplication*)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { FirstViewController *first = [FirstViewController alloc initWithNibName:@"FirstViewController“bundle:nil];UINavigationController *navController =[UINavigationController alloc initWithRootViewController:first];self.window setRootViewController:navController;}
现在,当您想从FirstViewController切换到SecondViewController时,单击按钮时,就必须使用推视图控制器。
FirstViewController.h -( SecondViewController *SecondViewController= [SecondViewController alloc initWithNibName:@"SecondViewController“bundle:nil];self.navigationController pushViewController:第二个动画:TRUE;}
https://stackoverflow.com/questions/19675528
复制相似问题