iOS学习随笔

8 篇文章 0 订阅
一、LaunchScreen
 LaunchScreen产生原因:代替之前的启动图片
 好处:
 1.可以展示更多的东西
 2.可以只需要出一个尺寸的图片。
 
 启动图片的优先级
 启动图片 < LaunchScreen.xib

 模拟器尺寸不对
 程序中碰见模拟器尺寸不对,马上去找启动图片,默认模拟器的尺寸由启动图片决定。

 
二、程序启动原理( UIApplicationMain(::::) )
1.创建UIApplication对象
2.创建AppDelegate对象,并且成为UIApplication对象代理属性
3.开启主运行循环:目的让程序一直跑起来
4.加载info.plist文件,判断下info.plist文件里面有木有指定main.storyboard,如果指定,就会去加载main.storyboard
 
main.storyboard底层实现
1.初始化窗口
2.加载storyboard文件,并且创建箭头指向的控制器
3.把新创建的控制器作为窗口的根控制器,让窗口现实


三、如何加载storyboard文件
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
 
 // instantiateInitialViewController:默认加载箭头指向的控制器
 
[storyboard instantiateInitialViewController];


 四、思想
 封装思想:如果以后项目中,有相同的功能,抽取一个类,封装好
 如何封装类:做到自己的事情全部交给自己管理。
 抽方法:一般一个功能就抽一个方法,以后开发中如果有相同的功能,找到对应的类就能找到功能

/*****************************************************************/
 补充:
 1 uiviewcontroller 的view是懒加载的
 2 tabarcontroller 的view在初始化控制器时就加载
 
 3 instancetype 默认识别当前是哪个类或对象调用,就会转换成对应类的对象
有中文的属性放在后面。(工厂方法,使用instanceType,使用id无法使用点语法,能调用任何对象的方法,无法检测错误。)

// 工厂方法
// SubFlag *
+ (instancetype)flag;

+ (instancetype)flag
{
    Flag *f = [[self alloc] init];
    
    return f;
}



 4 NSAttribute key值,添加UIKit库文件,查看NSAttributedString.h头文件

 
五、苹果模型
Item:就是苹果的模型命名规范
tabBarItem:决定着tabBars上按钮的内容
如果通过模型设置控件的文字颜色,只能通过文本属性(富文本:颜色,字体,空心,阴影,图文混排)


六、在ios7之后,默认会把UITabBar上面的按钮图片渲染成蓝色,一般需要告诉图片保持最原始的图片,或者在image.xcassest里面设置render模式

七、类的加载和初始化
 什么时候调用:程序一启动的时候就会把所有的类加载进内存
 作用:加载类的时候调用
+ (void)load
{

}
 
// 什么时候调用:当第一次使用这个类或者子类的时候调用
// 作用:初始化类
 + (void)initialize
{
 
}

 
八、appearance方法
appearance只要一个类遵守UIAppearance,就能获取全局的外观,UIView都可以获取所有的外观
 
获取所有的tabBarItem外观标识(修改所有)
UITabBarItem *item = [UITabBarItem appearance];
 
self -> CZTabBarController
获取当前这个类下面的所有tabBarItem(修改当前类)
UITabBarItem *item = [UITabBarItem appearanceWhenContainedIn:self, nil]



九、利用KVC可以把系统readonly的属性修改

//利用KVC把readly的属性改
[self setValue:tabBar forKeyPath:@"tabBar"];
//objc_msgSend(self, @selector(setTabBar:),tabBar);(运行时消息机制)

补充:[tabBarButton isKindOfClass:NSClassFromString(@"UITabBarButton" )] (反射机制)


十、UITabBar的items属性
 self.items UITabBarItem模型,有多少个子控制器就有多少个UITabBarItem模型
 
 十一:sizeToFit:默认会根据按钮的背景图片或者image和文字计算出按钮的最合适的尺寸
 
 十二:模型设计思想
  id:能调用任何对象的get,set方法,不能帮我们检查错误
 类方法:需要使用self创建对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值