- 博客(27)
- 收藏
- 关注
原创 如何在iOS应用中使用自定义字体
最近的项目需求需要使用新的字体,而且是在 所有地方 也就是说不管是普通的cell中的label,还是导航栏中的标题,都要使用设计新给出的字体。而新的字体包含在一个ttf的文件中。乍一听到是挺浩大的一个工程,如果我是一个笨蛋的话估计会去每一个显示文字的界面,去修改相应的设置Font的方法,再稍微聪明一点可能在一个统一的地方编写一个比如- (UIFont *)customFontWithSize:(CG
2015-06-27 18:17:38
827
翻译 IDFA的值什么时候会发生改变
在何种情况下 , 应用的IDFA值会发生改变?最近工作中需要获得一个可以唯一地标示每一个不同应用的ID,之前的苹果UDID已经不让使用了, 那么我们需要使用新的IDFA来引用。但是在某些情况下这个ID号会被修改(就是变成新值),那么都是什么情况下呢?让我们来一一看一下啊。
2015-06-27 17:47:44
13534
原创 drawRect:和layoutSubview的区别
关于这两个方法的区别 还是有点意思的。 UIView的setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的
2015-06-21 17:51:31
2168
原创 iOS开发工程师常见面试题及答案
1.申请后台运行除了后台刷新和VoIP及音乐播放和定位之外还有什么办法? 答案:UIBackgroundTaskIdentifier2.使用GCD在当前代码中加入几个NSLog打印,请写出打印出的顺序 答案:用XCode跑一下便知,一会补充上答案3.autoreleasepool工作机制 答案:通过autoreleasepoolPage来决定是否对所
2015-05-09 17:16:09
1685
原创 CALayer与UIView的区别
这篇文章主要表达的是这两个类的区别和少量的联系。1.首先要明确的一点就是CALayer继承自NSObject,而UIView集成自NSResponder.所以UIView是可以相应用户的点击事件的,而CALayer更多的是做渲染和动画效果。2.第二个就是CALayer和UIView都可以在屏幕上展示。有什么区别吗?当然了!每个在页面上展示的UIView都是要在自己的根layer上进
2015-04-29 17:44:23
695
原创 用好LLDB调试,其乐无穷
我最近在开发过程中觉得总是到处写NSLog和测试代码不仅代码不美观,而且容易出错误,所以学习了LLDB得相关知识。http://www.tuicool.com/articles/fIR3U3 这篇博客为我们提供了一个比较好的入门方法。
2015-04-29 11:36:28
653
原创 iOS8适配中需要注意的几个问题
在适配iOS8过程中,碰到了一些坑,通过查询资料解决了,而且在过程中也发现了其他的一些需要注意的地方,全都总结出来,也让后来的做iOS8适配的笛子们注意一下。 根据苹果的新API,有如下的几个变化: 1.有一些API被放弃了,包括 *UIApplication中用于注册推送的方法被放弃,需要使用新的方法.从过去的 registerF
2015-04-09 15:38:22
926
原创 提高UITableView滚动流畅性的一些技巧
UITableView是一个在开发过程中经常需要使用到的类,所以提高它在滚动时候的性能是一件比较重要的事情。如果它滚动的效率不高,则会产生一些不好的用户体验。除了在数据源的拉取以及减小图片尺寸之外,还有一些方法可以让你的UITableView滚动的更加流畅。 1.缓存所有cell的高度; 2.缓存所有tableView最近经常使用的image; 3.尽量在UITab
2015-04-09 15:20:06
1020
翻译 CoreData入门
对于所有的持久化储存数据的方式,Core Data是iOS上最好的储存重要数据的方法。它可以减少你的app的内存占用,提高响应速度,并且大大减少你编写的重复而僵化的代码。 但是Core Data的学习曲线可能会非常长。这就是这个学习系列存在的原因。就是要提高你学习Core Data的速度。创建一个Core Data工程让我们开始吧!打开Xcode并且使用Master-De
2015-03-17 20:45:25
732
原创 iOS中block之我一点看法
今天看到一些关于block的问题。发现自己尽管在使用的时候没有注意到,但是还是有很多问题是自己平时没有注意到但是其实很重要的。我把自己看到的那些问题记录下来,让自己多温故,也为偶尔看到这篇blog的也恰好对一些问题有点疑惑的人提一点醒吧~~ 1.block截获自动变量 关于这一点非常好理解。我们知道block是带有自动变量(局域变量)的匿名函数。也就是说在
2015-03-05 19:02:36
539
原创 iOS的事件相应方式
最近的工作中发现基础不太牢靠。需要好好巩固一下关于iOS的事件响应的方式了。从最简单的用户用手指点击了一下屏幕开始吧。 其实总结出来就是一句话:事件会从window的最下面的view向上传递寻找可以响应该事件的view,而找到响应的对象后,需要再向下寻找最终可以对这个事件作出处理的对象~ 如果手指点击了一下屏幕,那么就会生成一个事件(UIEvent),并且这个事件会
2015-03-04 18:08:44
599
原创 iOS上动态绘制曲线
近期需要完成一个功能,就是要在屏幕上动态地完成绘制一个曲线。这个曲线可以用来完成描述数据在一定时间内的变化等。大概就是下面这个效果。 这个效果要如何来完成呢?需要用到这三个类 UIBezierPath CAShapeLayer 和 CABasicAnimation 。其中UIBezierPath用来绘制相应地曲线路径,CAShapeLayer用来为Path提供展示的位置,并
2015-02-12 15:30:16
1735
原创 在iOS中对cell进行局部截图
今天在开发过程中遇到了一个问题,就是需要对某个控件单独进行截图。如果是对屏幕进行截图,相信大家都很熟悉,但是对于单独的一个控件呢?比如就以最通常的UITableViewCell来说,因为cell是最常用的控件之一,如果懂得了它的截图,那么其他控件也就迎刃而解。 这点苹果似乎已经帮我们想好了,如果您支持的iOS7及以上的系统,那么只需要调用一行代码即可。UIView *
2015-01-29 23:07:20
2763
原创 隐藏状态栏后tableview自动滚动的问题
最近在开发过程中碰到一个很奇怪的问题,在将状态栏隐藏掉之后,页面上的tableView会自动向上滚20个像素。 状态如下: 这是因为在iOS7.0之后,系统会自动调整scrollView的layout 和 contentInsets 。从而使其自动地适应iOS7之后那种整个屏幕都可以放入自定义控件的方法。而我们大多数在开发过程中并不希望收到系统自动的影响而是完全
2015-01-15 11:52:38
2563
翻译 十个2015年可能会大火的设计趋势
1.更长的滚动区域如今,越来越多新发布的网页采用了更长的滚动区域。随着手机变得越来越流行,在网页上使用滚动区域代替链接也变得越来越普遍,特别是在首页中。对于用户来说,通过滑动一个区域来或许他们想要的信息比不断地点击链接来的更容易。首页并不是唯一的一个大量使用滚动控件的地方。因为滚动控件已经流行了一段时间了,在实践中设计师们发现不在首页而在其他地方使用该控件也可以获得更多的好处,
2015-01-06 22:57:39
1004
原创 解决presentViewController打开慢得问题
最近在开发过程中碰到一个问题,发现在使用present方法打开一个viewcontroller的时候觉得打开的很慢,或者在第二次触碰屏幕之前不打开。这是一个比较严重的问题,必须要修改好。 查了很多资料,发现直接在主线程中present一个viewcontroller的话可以迅速地响应。dispatch_async(dispatch_get_main_queue(), ^
2015-01-01 23:51:00
3505
原创 在iOS中转换URL字符
在最近的开发过程中,遇到了一个新的问题,就是需要在格式化后的url字符串和NSString之间进行转换,从而能够实现一些需求。 这在一开始是一个比较讨厌的事情,因为NSString和编码后的URL之间相互并不认识。 不过好在Apple SDK为我们提供了简单地解决方案来解决这个事情。 一:将NSString 转换成URL编码 当我们想
2014-12-31 14:30:48
3026
原创 iOS8.1注册通知中心不成功的问题
因为原来的方法被屏蔽了,可以选择这个方法。if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotifica
2014-12-26 18:32:14
1074
翻译 Twelve South 为iPhone6和iPhone6 Plus发布了新的bookbook wallet 手机套
Twelve South为iPhone6 和 iPhone6 Plus发布了它家非常有名的BookBook iPhone wallet case手机套。因为新的iPhone机型比以往所有的机型都要大,所以这款新的手机套除了保留之前的信用卡和身份证插槽之外,又增加了很多新的特点。iPhone被放置进这个手机套的软壳之中。这个软壳的部分可以很方便地和钱包部分分离,以满足您需要将iP
2014-12-13 16:53:31
1400
翻译 如何使用iTunes恢复您的iPhone或iPad
这篇文章翻译自iMore上的文章How to restore your iPhone or iPad with iTunes如有翻译不恰当或不正确的地方,欢迎提出您的意见。 如果您的iPhone或iPad有严重的软件问题同时您也为了分析解决这些问题而精疲力竭的话,那么将它们恢复出厂设置会是一个很好的选择。还有,如果您想将您的设备送给别人或者卖掉的话,也会很希望您将您的设
2014-12-08 22:22:15
5486
翻译 iCloud照片库和照片流的差别
本文章翻译自iMore上的文章 iCloud Photo Library and Photo Stream: What's the difference?原文章地址 http://www.imore.com/icloud-photo-library-and-photo-stream-whats-difference如果有翻译的不准确的地方,还希望能够指出。以下是我的翻译:
2014-12-07 21:36:21
9442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人