初次拿到这本书,看到目录,内容确实挺多的,阅读过程发现代码讲解也特别详实。本笔记主要是记录阅读的心得以及对当天知识的回顾,帮助自己提高理解。扯淡的话不说了,进入正题。
=====================================================================================================================前面主要是对iOS开发语言以及开发环境XCode做了介绍,草草翻了下略过。
首先提到的是APP图标的设置,当时觉得图标设置有什么好看,看了后才发现,确实没什么好看的:),不过有一个要注意的点,就是图片大小的问题。在4以前,iPhone的图片大小就是屏幕的像素,而使用Retina屏幕以后,需要的图片像素是正常的两倍,6plus需要3倍,所以使用素材的时候,最好准备三份图片,1px 2px 3px,否则可能会出现模糊。
然后学到一些自适应的内容。主要是对不同设备进行布局的控制。
看到这张图的时候觉得特别亲切,这不是跟Unity里的UI布局一样么,也确实如此。在这里可以对某个控件的上下左右间距进行设置,可是设置好了以后,发现在不同的设备上运行的结果都不一样,这是因为没有设置其水平和垂直的自适应。
如何做水平和垂直方向的自适应
可以选中一个控件,右键拖动,出现一条线后,在主视图面板上停下,可以在弹出的窗口设置,同时也通过右下角的选项修正
也可以选中控件后,点击上面的菜单栏:Editor->Pin/Align来设置,当控件的外边框出现橙色的线时,说明布局的位置未调整好,可以手动调整,也可以点击Editor->Resolve Auto Layout Issues选择Add Missing Constraints即可。感觉苹果的东西就是方便,自适应相对其他布局来说没那么复杂,像我这种天生布局烂的人都能理解- -。
另外有一个比较重要的选项Set to Fit Content,选择该选项后可以让图片控件变成原始的大小,而不会拉伸导致图片变形。
交互
设置好界面后,接下来就需要对各个控件编写功能。这里用的是拖控件的形式,首先打开辅助窗口,这样可以看到ViewController里的代码,如果需要引用该控件或者对该控件的值进行修正,右键/按住option左键 可以从该控件上脱出一条线,放在@interface下面,会弹出对话框要求输入变量名称,然后回车,这样就对该控件进行了引用,可以编写函数来使用该控件,比如修改标签的值:uiLabel.text = @"hello iOS"。这点让我想起了C#里的拖控件。
如果需要为一些控件添加触发事件(不知道这种说法对不对,按着对C#里的理解来的),需要将拖出的那条线放在@implementation下面,弹出对话框会要求输入方法名称,然后回车,在这里就可以编写控件的逻辑代码。并且多个控件是可以使用同一个方法的。
AppDelegate
1.didFinishiLaunchingWithOptions:(NSDictionary *)launchOptions//应用程序启动后会运行的代码
2.applicationWillResignActive:(UIApplication *)application//应用程序从活动状态切换到非活动状态会触发这个方法,比如有来电或者短信或者用户推出应用程序
3.applicationDidEnterBackground:(UIApplication *)application//在该方法中释放资源,保存用户数据,取消定时器,并尽量存储应用程序状态信息,如果应用支持后台运行,那么当用户退出时会调用该方法而不是applicationWillTerminate
4.applicationWillEnterForeground:(UIApplication *)application//这个方法会在应用程序从后台运行状态切换到活动状态的过程中调用,可以在这里恢复应用程序正常运行时所需的信息
5.applicationDidBecomeActive:(UIApplication *)application//重新启动应用程序在非活动状态时被暂停的任务
6.applicationWillTerminate:(UIApplication *)application//程序即将终止时会调用该方法