* iOS基础
文章平均质量分 54
阿曌
找到兴趣,保持学习。
展开
-
【iOS基础】KVC的特殊作用!原来它有Java反射的效果!
今天无意间了解到KVC(Key-Value-Coding),看了半天不知道它的作用何在,通过间接访问属性的方法,这不多此一举么?而且通过 Key 来访问,很容易打错字啊!因为会 Java 的反射,觉得其实还蛮像的,然后我突发奇想,Java 反射能够不通过 set 方法更改属性值,那KVC呢?如果,它也可以,那么一个对象的属性值为 readonly 时,它也能改变该属性值么?如果能,那它意义就重大了!原创 2015-07-20 22:10:34 · 1939 阅读 · 0 评论 -
【iOS基础】学习 Core Data 过程记录【待更】
在面试的时候被问到 Core Data 结果答不上来的感觉很不好,于是回到家就开始补习 Core Data!以下是个人总结和代码学习过程!什么是 Core Data Core Data 的作用好处优点 Core Data 的弊端缺点 涉及的相关类 Core Data 的使用示例什么是 Core DataCore Data是iOS编程中使用持久化数据存储的一种方式。类似数据库存储。需要知道的是,Cor原创 2015-07-14 23:49:43 · 1451 阅读 · 0 评论 -
VoiceOver中isAccessibilityElement和accessibilityElementsHidden的区别
在NSObject的扩展NSObject(UIAccessibility)中,有两个属性 @property(nonatomic) BOOL isAccessibilityElement @property(nonatomic) BOOL accessibilityElementsHidden 这两个都可以使“VO元素”不支持“VO”。(VO:VoiceOver简称,VO元素:支持Voc...原创 2016-03-31 17:03:40 · 4365 阅读 · 0 评论 -
iOS 如何更改Cell中默认accessoryView的位置
如果你不想自定义Cell,又希望改变accessoryView的位置的话,很简单,在子Cell类中的layoutSubviews方法中去修改accessoryView的frame。(别忘了调用[super layoutSubviews])- (void)layoutSubviews { [super layoutSubviews]; CGRect adjustedFrame = sel原创 2016-05-25 11:30:12 · 9877 阅读 · 0 评论 -
iOS9 UITableViewCell 分割线左顶头
UITableViewCell在IOS6下分割线是默认顶头的,在IOS7以后左边会有一定的间距(15)。网上有一些解决办法,分享我找到的最简单的一种:在数据源方法tableView:cellForRowAtIndexPath:中加入如下三行 cell.preservesSuperviewLayoutMargins = NO; cell.separatorInset =原创 2016-05-30 17:19:12 · 5874 阅读 · 1 评论 -
小坑:UITableView分组后最后一根分割线不显示
如图用section分隔开后每个section最后的cell的分割线不见了。分隔的方法是:单独把一个section作为分隔块使用,即:section 0,有cell 2;section 1,没有cell,headView高12;section 2,有cell 2……以此类推。要解决这个问题,想要分割线显示的话看来只能自定义,加到Layer上面去。比如说在分隔section的上下加上分割线:- (CG原创 2016-06-20 17:18:13 · 2596 阅读 · 0 评论 -
iOS自定义多变量函数,如何获取多变量
- (instancetype)initWithTitle:otherButtonTitles, ... { NSMutableArray *buttonTitleArray = [NSMutableArray array]; va_list args; va_start(args, otherButtonTitles); if (otherButtonTitles)原创 2016-11-03 14:52:31 · 859 阅读 · 0 评论 -
怎么挽救unrecognized selector异常——消息转发机制
[obj foo];在objc动态编译时,会被转意为:objc_msgSend(obj, @selector(foo)); objc在向一个对象发送消息时,runtime库会根据对象的isa指针找到该对象实际所属的类,然后在该类中的方法列表以及其父类方法列表中寻找方法运行,如果,在最顶层的父类中依然找不到相应的方法时,程序在运行时会挂掉并抛出异常unrecognized selector原创 2016-12-14 20:44:52 · 1612 阅读 · 0 评论 -
iOS系统导航栏自定义标题动画跳变解析
如果我们使用iOS系统的导航栏,自己设置titleView,leftItem和rightItem,当titleView长度达到一定时,push会出现titleView左右跳变的情况,本文将分析跳变原因及解决办法。原创 2019-03-13 22:44:46 · 1203 阅读 · 0 评论