用UIButton实现页面跳转(AppDelegate +NavigationViewController)

摘要:
UI响应程序<(NSDictionary*)launchOptions{self.window=[[UIWindowalloc]initWithFrame://instantiatewindow MainViewController*MainViewController=[[MainViewControlleraloc]init]_导航控制器。视图];

1.AppDelegate.h

定义一个UINavigationController 

#import <UIKit/UIKit.h>

#import "MainViewController.h"

 

@interface AppDelegate : UIResponder <UIApplicationDelegate>

 

@property (strong, nonatomic) UIWindow *window;

 

@property (strong, nonatomic) UINavigationController *navigationCotroller;

@end

2.AppDelegate.m

#import "AppDelegate.h"

 

@interface AppDelegate ()

 

@end

 

@implementation AppDelegate

 

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];//实例化window

    MainViewController *mainViewController = [[MainViewControlleralloc]init];//实例化mainView控制器

     //把mainView控制器放到navigationController的方法中,使之成为根控制器

    _navigationCotroller = [[UINavigationController alloc] initWithRootViewController:mainViewController];

    [_windowaddSubview:_navigationCotroller.view];//window中加载导航控制器的view

    [self.window makeKeyAndVisible];//视图可见

 

    return YES;

}

3.mainViewController.m

设置按钮的页面,按钮触发的方法中,调用AppDelegate中的导航控制器的pushViewController方法,实现页面跳转(自动生成有返回健的页面)。

按钮触发的方法:

[_logonBtn addTarget:self action:@selector(loginClick:) forControlEvents:UIControlEventTouchUpInside];

页面跳转:

-(void)loginClick:(id)sender{

    LogonViewController *logonView = [[LogonViewControlleralloc]init];

    AppDelegate *myDelete = [[UIApplication sharedApplication]delegate];

    [myDelete.navigationCotroller pushViewController:logonView animated:YES];

}

用UIButton实现页面跳转(AppDelegate +NavigationViewController)第1张                 用UIButton实现页面跳转(AppDelegate +NavigationViewController)第2张

 

免责声明:文章转载自《用UIButton实现页面跳转(AppDelegate +NavigationViewController)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇从深处去掌握数据校验@Valid的作用(级联校验)Elasticsearch 删除数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS 屏幕适配之sizeclass

1. 屏幕适配的各种技术   1> 3gs44s时代:没有屏幕适配一说,尺寸只有一个,直接用代码计算frame就行了   2> iPad出现:为应对横竖屏,苹果推出autoresizing,它的作用是让子控件能跟随父控件做拉伸.如下图,autoresizing可以让红色的子控件的宽度始终铺满屏幕   3> 55c5s的出现:autore...

kubernetes之健康状态检测

1.说明容器探针: kubelet 对容器执行的定期诊断探针执行方式: LivenessProbe: 判断容器是否存活 running状态, 如果不健康kubelet就会杀掉pod,根据重启策略RestartPolicy进行相应的处理 ReadinessProbe: 判断容器是否处于可用Ready状态, 达到ready状态表示pod可以接受请求, 如果...

SpringBoot文件分片上传

背景 最近好几个项目在运行过程中客户都提出文件上传大小的限制能否设置的大一些,用户经常需要上传好几个G的资料文件,如图纸,视频等,并且需要在上传大文件过程中进行优化实时展现进度条,进行技术评估后针对框架文件上传进行扩展升级,扩展接口支持大文件分片上传处理,减少服务器瞬时的内存压力,同一个文件上传失败后可以从成功上传分片位置进行断点续传,文件上传成功后再次上...

TIDB3.0下线tikv节点

环境:centos7、tidb3.0 思路:查找store-id——>重集群中移除节点——>查看节点是否下线完成——>停止节点服务——>移除配置信息——>更新监控信息 1、在中控机上找到要移除tikv的store-id [tidb@tidb-21 ~]$ /home/tidb/tidb-ansible/resources/bi...

前端开发调试之代理配置

前端开发往往需要在本地调试环境和线上环境之间灵活切换,以将要调试的一个页面为例,页面引用了如下的静态资源,要想在本地开发调试下面引入的js代码,最直接的方法是在把引入的资源路径改成本地调试路径,并起一个本地服务器访问页面,使用这种方法最大的缺点就是上线前需要恢复原来的引入路径,再或者我们没有权限修改页面代码,上述方法也无法使用。因此代理的方式才是首选。 &...

【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员

===================问题情况描述=================== 小弟一直在玩discuz论坛开源程序,这个论坛程序经常涉及到论坛搬家的问题。 今天我在本地Wamp环境下,用开源软件帝国备份王2010进行数据库备份数据,结果打开发现报错500! 这真是坑爹了,回想下以前自己使用这个开源程序进行备份也不下于十几次了,大部分都正常成功,...