自定义并使用自己的ViewController

Xcode6以后,在新建工程时已经没有了以前的Empty Application,往往新建的是Single View Application,而这个模板却自带了ViewController。在实际的应用中,我们往往需要自定义ViewController,要使用更易理解的命名,这时候,系统默认的这个家伙就显得有些烦人了,作为一个重度强迫症,自然是不能忍受的。但是如果只是简单地将ViewController.h和ViewController.m文件删除,然后新建自己的ViewController并使用,往往不能如人所愿,会出现各种各样的问题,抛出NSInternalInconsistencyException异常神马的。

经过各种折腾研究,总结出一套方案,解决了这个问题。

  • 首先删除ViewController.h和ViewController.m文件。

  • 打开 Info.plist,删除里面的Main storyboard file base name...

  • 新建自己的ViewController文件,产生.h和.m文件(如MainViewController.h和MainViewController.m)。

  • 编写这两个文件,实现你的要求。

  • 向AppDelegate.m导入刚才新建并编辑过的.h文件:

#import "MainViewController.h"
  • 修改AppDelegate.m文件中的application方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

self.window.rootViewController = [[MainViewController alloc]init];

[self.window makeKeyAndVisible]; 

return YES;

}

就是这样。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近一朋友正准备跳槽,就从各处搜索整理一些基础,便于朋友复习,也便于自己复习查看. 1. 回答person的ret...
    smile丽语阅读 1,802评论 0 7
  • 1,NSObject中description属性的意义,它可以重写吗?答案:每当 NSLog(@"")函数中出现 ...
    eightzg阅读 4,190评论 2 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,937评论 18 139
  • 1.尺寸适配1.原因 iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不...
    LZM轮回阅读 6,143评论 1 4
  • github demo 下载地址,有问题请评论或者在git上提交问题 1. 用到的类,基本和HomeKit差不多 ...
    Dylan大魔王阅读 453评论 0 1