首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PushView on PresentViewController iOS

PushView on PresentViewController iOS
EN

Stack Overflow用户
提问于 2013-10-30 06:42:50
回答 2查看 3.4K关注 0票数 1

我想用Push viewController on PresentViewController

当我最初单击按钮时,我正在加载PresentViewController,下面是我的代码。

代码语言:javascript
复制
- (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不按。

--请帮忙,谢谢--

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-30 06:48:24

代码语言:javascript
复制
JoinWithViewController *detail_view_controller = [[JoinWithViewController alloc] initWithNibName:@"JoinWithViewController" bundle:nil];
[self.navigationController pushViewController:detail_view_controller animated:YES];

试着像这样推动viewController。如果您使用TabBar,请在AppDelegate中这样做。如果您创建了TabBar,那么拖放就意味着保留它。按如下所示以编程方式创建TabBar。

代码语言:javascript
复制
- (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;
}

我希望你现在

票数 2
EN

Stack Overflow用户

发布于 2013-10-30 06:49:42

pushviewcontrollerUINavigationController的特性,您可以将一个视图控制器推到另一个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;}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19675528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档