iOS
Koptop
这个作者很懒,什么都没留下…
展开
-
IOS 多线程初探(三) - GCD
这次来介绍下苹果主推的多线程使用方式,GCD。GCD全称是Grand Central Dispatch。该多线程机制性能很好。GCD声明了一系列dispatch开头的方法来实现多线程操作,dispatch方法中提供了一个Block回调来处理线程的任务。先来看一个实例:- (void)function{ dispatch_queue_t queue = dispatch_get_global原创 2016-01-16 11:27:41 · 555 阅读 · 0 评论 -
虚拟机中的MacOSX 如何扩容
因为资金原因,暂时没办法买个MBP,只好用虚拟机。无奈当初建立虚拟机的时候硬盘给小了,导致XCode都没空间升级,重新装一个又麻烦,于是只能扩容!百度了很多,最靠谱的方法就是在虚拟机中添加一个硬盘,把系统盘恢复到新建的硬盘中。可是!这可懵逼了,还怎么玩儿。不过,我又发现可以制作硬盘映像,有活路了!干脆弄个硬盘映像,然后从映像来恢复应该可以吧。所以,我又往虚拟机里添加了个硬盘(这导致我虚拟MacOSX原创 2016-06-15 20:20:30 · 3767 阅读 · 0 评论 -
项目总结2 UITabBarController为根视图的基础界面细节处理-返回按钮等
上一篇文章讲了如何搭建以UITabBarController为根视图的界面,虽然是个简单的基础界面,但还是有几个细节问题需要处理。TabBar中button的selectedImage不知道大家有没有注意到,在setupChildViewControllers 这个函数中设置了selectedImage,但是没有效果。有些应用,比如微博,TabBar中button选中状态是橘黄色的,而不是系统默认的原创 2016-06-13 17:01:16 · 4418 阅读 · 0 评论 -
项目总结1 UITabBarController为根视图的界面搭建
前言自学路上困难多啊,最近的以UITabBarController为根视图的APP很多,而且基本都有自定义的button在UITabBarController上,下面我为新手们介绍下如何创建和自定义UITabBarController中的button。Step 1 我们创建一个SingleView的项目。我们不需要从storyboard启动项目,所以删除storyboard和ViewContro原创 2016-06-09 23:43:07 · 1534 阅读 · 0 评论 -
项目总结3 类似网易云音乐导航栏指示器(个性推荐、歌单等)的简单实现(一)
我们先来看看网易云音乐导航栏指示器是什么样的。箭头指向的蓝色框就是导航指示器,点击之后下面的view会跟着移动,每个button下面还有个小红线跟着。这个效果其实不难实现,我们先来分析分析。在iOS里好像没看到有指示器这么个控件,所以,指示器应该是我们自己添加到view上的代码实现的。我们先来看看这个4个分类,我们发现个性推荐、歌单、主播电台和排行榜都能点击,那我们首先想到的就是button,那bu原创 2016-06-18 12:30:05 · 8578 阅读 · 1 评论 -
iOS实用技能之同一个String不同颜色的字
前言最近在开发中碰到个问题,需要一个字符串的数字为红色,其余为黑色。思考了半天,没思路,问了下同事,才了解到有AttributeString这个东西,看来我还是个新手啊,在这里做个记录,方便查阅吧。要达到效果,比如 –> 这样数字8 是红色的需求就可以用NSMutableAttributedString来实现。废话不多说,直接上代码//这里只是示例,你要求出需要设置颜色的字符的数量,这里为color原创 2016-07-26 21:51:59 · 1717 阅读 · 0 评论 -
iOS TableView填坑之一 Cell显示不完整
最近在项目开发中发现TableView的Cell显示不完整,如图,这可懵逼了,虽然用力往上拖动,能让Cell显示完整,可一松手,又弹了回去,只能显示半 个。虽然打码了,但是还是能看清楚最下面的Cell只有一半啊我第一时间想到了内边距这个东西,于是一阵修改,又是禁止scrollview自动调整内边距,又是给TableView设置内边距,忙活了一个小时,发现并没有什么卵用。这可怎么办啊,还是求出下万能原创 2016-07-26 22:49:49 · 3490 阅读 · 0 评论 -
MJExtension 之模型建立后没有效果
最近在项目中使用了MJExtension,因为项目中使用的Json有很多层,于是在一个模型类文件中写了很多类,然后高高兴兴地使用MJExtension来转换模型。此时,意外却发生了,居然转换出来的模型没有数据!!怎么回事!那么强大的MJExtension居然失效了!天空顿时一片灰暗,乌云密布。但我撑起雨伞,定睛一看,发现在模型类文件的.m文件中,只有默认生成的一个implement,其它类的impl原创 2016-07-26 22:57:01 · 671 阅读 · 0 评论 -
iOS Xcode 7.2 以及各种版本Xcode工具下载地址
https://developer.apple.com/downloads/这里面有所有版本的Xcode dmg文件供大家下载原创 2015-12-11 22:10:44 · 886 阅读 · 0 评论 -
UITextField和UITextView限制字数
在日常开发中碰到限制字数的需求也是常见的,以UITextField为例(UITextView同理),看看如何限制字数。这里我只是简单实现这个功能,如果是字符比较混杂,比如表情,各种类型的文字等的计数不知道这段代码能不能正确限制字数。 首先当然要实现UITextField的代理:- (BOOL)textField:(UITextField *)textField shouldChangeCharac原创 2016-09-09 16:39:22 · 437 阅读 · 0 评论 -
iOS中的内边距是什么
在iOS开发中,经常会布局UI控件中的内容,如果仅仅设置内容显示模式,比如居中,靠左等不能够满足布局需求,此时我们就会用到内边距这个东西。 那么内边距是什么的?我手画张图来解释原创 2016-06-13 18:01:06 · 2760 阅读 · 0 评论 -
项目总结4 类似网易云音乐导航栏指示器与Scrollview互动(个性推荐、歌单等)的简单实现(二)
上篇文章讲到指示器的添加,今天我们来添加一个scrollview,使得指示器能跟随scrollview变化,scrollview也能根据指示器的位置不同更改自己需要显示的view。还是以网易音乐的界面为例,红色指示器下面对应了一个view,其它三个指示器按钮也对应了各自的view所以,我们需要创建一个scrollview作为底层view,然后在scrollview上添加4个ViewControlle原创 2016-06-27 21:43:23 · 1163 阅读 · 1 评论 -
IOS 多线程初探(一) - NSThread
废话不多说,直奔主题。今天简单介绍下IOS中的三种创建线程的方法1. 创建NSThread对象<C++>NSThread *t = [[NSThread alloc] initWithTarget:self selector:@selector(functionName) object:nil];[t start];</C++>这是个典型的target-action方式,指定目标为self,原创 2016-01-13 21:29:13 · 436 阅读 · 0 评论 -
IOS 多线程初探(二) - Operation Object
上次简单介绍了使用NSThread来创建线程的方法。今天简单介绍使用Operation Object来创建线程Operation Object简介 将要执行的任务(即函数)封装成操作对象NSOperation,并将对象放置到NSOperationQueue中。可以设置这些任务的执行顺序和依赖关系。用NSOperation来创建线程新建一个类继承NSOperation,覆盖main方法,然原创 2016-01-14 11:41:04 · 566 阅读 · 0 评论 -
IOS 网络初探(一) - NSURLConnection
在IOS中,除了最基本的socket外,苹果提供了NSURLConnection类来实现网络通信。请求服务器数据(GET方式) 请求服务器数据分成异步和同步两种方式。先来看看异步(非阻塞)。NSURL *url = [NSURL URLWithString :@"www.baidu.com"];NSURLRequest *request = [NSURLRequest requestWith原创 2016-01-16 14:35:09 · 481 阅读 · 0 评论 -
IOS JSON数据解析(一)
对于JSON数据,苹果提供了NSJSONSerializaiton类来解析。比如我们有一个json文件,那么如下代码可以获取到JSON数据:NSBundle *b = [NSBundle mainBundle];NSString *path = [b pathForResource: @"json" ofType: @".json"];NSString *content = [NS原创 2016-01-18 14:21:21 · 749 阅读 · 0 评论 -
IOS UserDefaults简介(一)
UserDefaults可以用来存储简单的数据,也可以用来定制应用的行为数据存储- (void)save{ NSUserDefaults *de = [NSUserDefaults standardUserDefaults]; [de setInteger: 20 forKey: @"intKey"]; [de setFloat: 2.0 forKey: @"float原创 2016-01-18 15:30:46 · 1358 阅读 · 0 评论 -
SDWebImage 官方文档 翻译(v3.7.5 中文 简介,非API文档 )
最近正在自学iOS,看到网上有项目用SDWebImage,便找来文档看看,顺便记录一下,也方便大家阅读(官方文档地址: http://cocoadocs.org/docsets/SDWebImage/3.7.5/ 以下是翻译内容)。 Web Image SDWebImage提供了一个UIImageView的分类来支持获取远程图片。这个库提供了如下功能: 1. 提供UIImageView的一翻译 2016-03-24 15:52:44 · 1448 阅读 · 0 评论 -
MMDrawerController(0.6.0) 文档翻译(简介,非API文档)
Mutual Mobile Drawer Controller随着使用抽屉效果的应用越来越多,MMDrawerController应运而生。翻译 2016-03-31 15:43:37 · 1140 阅读 · 0 评论 -
MMDrawerController 与 StoryBoard 构建和谐抽屉效果
纠结了一天都不知道怎么在storyboard中用MMDrawerController,看了下MMDrawerController+Storyboard版本的库也不知道怎么用, 网上搜了下,发现了个好方法。 (参考 http://www.wenzizone.cn/?p=470 ) 下面直接说步骤: 1.新建一个single view的工程 2.在工程目原创 2016-03-22 22:52:43 · 1433 阅读 · 0 评论 -
iOS线程初探(四) GCD 和 NSOperation 小结
参考资料:关于iOS多线程,看我就够了GCD在GCD中,有两个概念很重要,那就是任务和队列。任务 :其实就是你需要做的事情,一个Block而已。任务有两种执行方式:同步执行和异步执行。同步执行:会阻塞当前线程,直至该任务执行完成后当前线程才接触阻塞,继续执行下面的任务。异步执行:执行任务时不会阻塞当前线程,当前线程会继续往下执行(这里有个小问题,如果我在主线程中异步调用一个任务,既然不阻塞当前线程原创 2016-05-04 17:22:23 · 675 阅读 · 0 评论 -
iOS开发常用技巧-常见问题篇
1.需要在某些情况下在外部设置自定义cell中imageView的image时,如果直接设置imageView.image的话,可能会出现UI布局走样。这时可以在cell的头文件里声明一个UIImage,在UIImage的set方法中设置imageView的image,外部访问公开的UIImage来达到设置cell中imageView的image的目的。2.比较两个UIImage的图片是否相同,可以原创 2016-11-02 14:07:49 · 649 阅读 · 0 评论