Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PresentViewController iOS上的PushView_Ios_Presentmodalviewcontroller_Pushviewcontroller - Fatal编程技术网

PresentViewController iOS上的PushView

PresentViewController iOS上的PushView,ios,presentmodalviewcontroller,pushviewcontroller,Ios,Presentmodalviewcontroller,Pushviewcontroller,我想在PresentViewController 当我最初点击按钮时,我正在加载PresentViewController,下面是我的代码 - (IBAction)JoinClicked:(id)sender{ JoinWithViewController *detail_view_controller = [[JoinWithViewController alloc] initWithNibName:@"JoinWithViewController" bundle:nil];

我想
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
on click我想按我的视图,但in不按

请帮忙,提前谢谢。

JoinWithViewController *detail_view_controller = [[JoinWithViewController alloc] initWithNibName:@"JoinWithViewController" bundle:nil];
[self.navigationController pushViewController:detail_view_controller animated:YES];
按此方式尝试推送viewController。如果使用TabBar,请在AppDelegate中执行此操作。如果您创建了选项卡栏,拖放意味着离开。按如下编程方式创建选项卡栏

- (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;
}

我希望您现在有了

推送视图控制器是UINavigationController的功能,您可以在另一个vierw控制器上推送一个视图控制器。在这里,您使用单个viewcontroller作为根viewcontroller,因此您必须将根viewcontroller更改为UINavigationcontroller,或者可以使用“添加子视图方法””在当前viewcontroller上添加新的viewcontroller

但是更好的选择是添加uinavigationcontroller作为rootviewcontroller

AppDelegate.m

-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{

     FirstViewController *first = [[FirstViewController alloc]
                                 initWithNibName:@"FirstViewController" bundle:nil];
     UINavigationController *navController =[[UINavigationController alloc] 
                                            initWithRootViewController:first];
     [self.window setRootViewController:navController];   
}

现在,当您要在单击按钮时从FirstViewController切换到SecondViewController时,必须使用pushviewcontroller

FirstViewController.h


:如何在appDelegate中初始化rootViewController请输入您的代码。
appDelegate
中没有任何内容。我正在使用StroyBoardy。您还可以使用CATTransition将视图与动画的持续时间合并。你知道这方面的例子吗?即使你使用故事板,你也需要使用选项完成启动:self.viewController=[[viewcontrolleralloc]initWithNibName:@“viewController”bundle:nil];UINavigationController*nav=[[UINavigationController alloc]initWithRootViewController:self.viewController];self.window.rootViewController=nav;要按ViewController,当我在
中编写代码并使用选项完成启动时,我无法看到底部的
选项卡栏
1。在Appdelegte.m中,您可以将导航控制器添加为rootviewcontroller(这里FirstViewController是UINavigationController的rootviewcontroller)。2.(当您不使用故事板时)现在假设在按下“下一步”按钮时,您希望从FirstViewController切换到SecondViewController,而不是必须调用nextBtnPressed方法。@Krunal:您得到了想要的输出吗?
-(void) nextBtnPressed {
    SecondViewController *second = [[SecondViewController alloc]  initWithNibName:@"SecondViewController" bundle:nil];
     [self.navigationController pushViewController:second animated:TRUE];
 }