随笔分类 - iOS
摘要:如果syncMain在主线程执行,那么会死锁。如果在非主线程执行,那么可以正常执行
阅读全文
摘要:1. 存储方式 2. 应用沙盒 3. plist实例 4. 偏好设置 存取实例: 5. plist中不能保存自定义的对象,归档可以。
阅读全文
摘要:1. 普通传递方式 控制器2push到控制器3. 控制器3返回需要设置一个控制器2的属性,从而实现控制器3向控制器2传递数据模型。这样的话,两个控制器耦合性高。 解决: 用代理实现数据模型的逆向传递 用代理实现数据模型的逆向传递: 2. 模型传递时,控制器的view还没有初始化 解决办法,将控件的赋
阅读全文
摘要:1. 控制器的生命周期 . viewWillDisappear viewDidlDisapper 2. 控制器的segue跳转 3.
阅读全文
摘要:第3步创建空白view的意思是创建一个颜色为clearColor的view, 而不是alpha = 0的view. 因为此时若在view上添加button, button可以点击。而alpha = 0的控件 是不能处理事件的。 注意调用先后顺序
阅读全文
摘要:如果info.plist没有设置main, 则程序启动黑屏,不会加载main.storyboard, 这时需要手动显示页面 键盘,状态栏都是UIWindow 用storyboard加载控制器 用xib加载控制器
阅读全文
摘要:每一个应用都有自己的UIApplication对象,单例的。 通过[UIApplication sharedApplication]获取 程序启动后创建的第一个对象 1. 设置图标右上角红色提醒数字 2. 设置联网指示器的可见性 单例:(load方法比main方法先调用) 当有来电或锁屏会导致app
阅读全文
摘要:1. 存放公有的宏 2. 存放公有的头文件 3. 定义log 原理:在编译过程当中,把pch的所有内容导入到工程中所有文件中。
阅读全文
摘要:Bundle name : 手机图标显示的名字,如果不设置,默认是工程名 Bundle identifier : 应用程序的唯一标识 Bundle versions string, short : 软件的版本号 Bundle version : 应用打包的版本号
阅读全文
摘要:1. 通知 : 任何对象之间可以传递消息,一个对象可以发通知给多个对象,也可以接收多个对象发出的通知 2. KVO : 监听对象属性的改变(灵活度不如通知和代理) 具体见 https://www.cnblogs.com/yintingting/p/12757536.html 3. 代理 : 1个对象
阅读全文
摘要:但是它只能计算一行文字的宽度,多行文字的高度计算不了(多行文字的高度要根据label的最大宽度来计算,这里没有这个属性) 所以改用下面方式: 不过这个方法已废弃,故更多用这个方式:
阅读全文
摘要:- (BooL)prefersStatusBarHidden{ return YES; }
阅读全文
摘要:1. 去掉数据下方的分割线 解决一:把tableView的风格设置为group的 解决二: self.tableView.tableFooterView = [[UIView alloc] init]; 2. 3. 自定义cell 一,代码方式: 在layoutSubviews中计算子控件位置尺寸或
阅读全文
摘要:1. Autoresizing在storyboard中使用,先关闭auto layout和sizeclasses 只能解决子控件和父控件之间的关系 在代码中使用: 2. Autolayout能解决任何控件之间的关系 3. 用Autolayout给label设置一个固定宽度及相应位置及line=0,发
阅读全文
摘要:1. 结束编辑 [textFileld endEditing:YES]; [textField resignFirstResponse]; [self.view endEditing:YES]; 2. textField.delegate <UITextFileldDelegate> 下面代理方法:
阅读全文
摘要:1. 监听scrollview停止拖拽需要下面两个方法: 2. scrollview的代理为何是weak, 防止循环引用 3. 设置代理,可以拖线设置,也可以代码设置 4. 缩放: 实现delegate方法,设置缩放的view, 设置缩放比例 5. pagingEnabled = YES : 当滑到
阅读全文
摘要:键值监听 [person addObserver: forKeyPath ] [person removeObserver: forKeyPath】 当监听的属性值发生改变,会调用下面方法: -observeValueForKeyPath: ofObject...
阅读全文
摘要:[person setValue:@"xiaomi" forKeyPath:@"dog.name"]; [person valueForKey:"age"] [person dictionaryWithValuesForKeys:@[@"name",@"age"]]; //模型转字典 forKey和
阅读全文

浙公网安备 33010602011771号