摘要: 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展示出来 Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止 以Modal的形式展示控制器- (void)presentViewController:(UIViewContr 阅读全文
posted @ 2017-05-30 17:39 iFat 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-05-30 17:38 iFat 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ、微信等应用 UITabBarController的简单使用 UITabBarController的使用步骤初始化UITabBarContro 阅读全文
posted @ 2017-05-30 17:37 iFat 阅读(85) 评论(0) 推荐(0) 编辑
摘要: Storyboard上每一根用来界面跳转的线,都是一个UIStoryboardSegue对象(简称Segue) Segue的属性 每一个Segue对象,都有3个属性唯一标识@property (nonatomic, readonly) NSString *identifier;来源控制器@prope 阅读全文
posted @ 2017-05-30 17:29 iFat 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 控制器View的生命周期方法:只要是控制器的生命周期方法,都是以view开头. 控制器View加载完成时调用- (void)viewDidLoad { [super viewDidLoad];} 控制器的View显示完成时调用-(void)viewDidAppear:(BOOL)animated{ 阅读全文
posted @ 2017-05-30 17:09 iFat 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 设置导航条的内容,由栈顶控制器的NavgationItem决定. 导航控制器必须要有根控制器.目的设置导航条的内容. 如果设置了导航条的标题, 那么下一个push的子控制器的返回按钮就是上一个控制器的标题. UINavigationItem有以下属性影响着导航栏的内容 左上角的返回按钮 @prope 阅读全文
posted @ 2017-05-30 17:02 iFat 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 程序一进入时,就要让窗口的根控制器是一个导航控制器. 1.新建窗口 2.创建导航控制器.并设置导航控制器的根控制器 3.把导航控制器设为窗口的根控制器. 4.显示窗口. 说明:1.当设置导航控制器的根控制器时,也就是initWithRootViewController, 它底层其实是调用了导航控制器 阅读全文
posted @ 2017-05-30 17:01 iFat 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 导航控制器是以栈的形式管理子控制器的,也就是一个数组. 里面有两个一个是ViewControllers和ChildViewControllers两个, 都是数组, 保存的都是导航控制器的子控制器. 使用push方法就是把某个控制器压入到栈当中. 使用pop方法可以移除控制器. 将栈顶的控制器移除 - 阅读全文
posted @ 2017-05-30 17:00 iFat 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-05-30 16:58 iFat 阅读(132) 评论(0) 推荐(0) 编辑
摘要: UIPickView和TableView一样,想要展示数据也要设置数据源和代理设置数据源self.pickView.dataSource = self;设置代理self.pickView.delegate = self; 遵守数据源,代理协议:@interface ViewController () 阅读全文
posted @ 2017-05-30 16:56 iFat 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 在ios当中提供了两个比较特殊的控制器.是专门给我们用来管理控制器用的. 1.UINavigationController. 2.UITabBarController. 1.UINavigationController.(导航控制器) 系统的设置界面就是一个典型的导航控制器.只要看到上部有一个条, 阅读全文
posted @ 2017-05-30 16:49 iFat 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1.创建窗口self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];2.设置窗口根控制器2.1从XIB当中加载控制器.MyViewController *vc = [[MyViewController a 阅读全文
posted @ 2017-05-30 16:45 iFat 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 1.创建窗口self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];2.加载控制器从StoryBoard当中加载控制器UIStoryboard *storyBoard = [UIStoryboard st 阅读全文
posted @ 2017-05-30 16:41 iFat 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 要求:程序一启动就创建创建对象.创建的对象只能通过share的⽅方式获取对象.不能够进行alloc 操作,当执⾏行alloc时, 程序发生崩溃 1.程序一启动的时候就创建对象.当类被加载到内存的时候就会调用load的方法,它会比main优先调用 2.保证调用alloc时会产生异常.重写系统的是all 阅读全文
posted @ 2017-05-30 16:13 iFat 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 会自动加载LaunchScreen是因为在Target当中,指定了Launch Screen file 它的底层实现其实把LaunchScreen上的东西,生成了一张图片,然后把这张图片设为程序的启动图片.可以进入沙盒当中查看,查看方法,找到应用程序根目录.获取方法: NSLog(@"%@",NSH 阅读全文
posted @ 2017-05-30 15:54 iFat 阅读(314) 评论(0) 推荐(0) 编辑
摘要: UIWindow是一种特殊的UIView,通常在一个app中至少有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 一个iOS程序之所以能显示到屏幕上, 阅读全文
posted @ 2017-05-30 15:45 iFat 阅读(170) 评论(0) 推荐(0) 编辑
摘要: UIApplicationMain main函数中执行了一个UIApplicationMain这个函数 int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClas 阅读全文
posted @ 2017-05-30 15:40 iFat 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 什么是UIApplication UIApplication对象是应用程序的象征 每一个应用都有自己的UIApplication对象,而且是单例的 通过[UIApplication sharedApplication]可以获得这个单例对象 一个iOS程序启动后创建的第一个对象就是UIApplicat 阅读全文
posted @ 2017-05-30 15:36 iFat 阅读(180) 评论(0) 推荐(0) 编辑
摘要: PCH:是一个文件.一般PCH的名称跟项目的名称相同.也是一个头文件 PCH的作用:存放一些公用的宏. 存放一些公用的文件.只要在pch当中定义的东西, 会被整个应用程序共享. 一般在pch文件中定义一些全局的宏 在pch文件中添加下列预处理指令,然后在项目中使用Log(…)来输出日志信息,就可以在 阅读全文
posted @ 2017-05-30 15:24 iFat 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist”项目中其他Plist文件不能带有“Info”这个字眼,不然会被 阅读全文
posted @ 2017-05-30 15:20 iFat 阅读(387) 评论(0) 推荐(0) 编辑