iOS开发
文章平均质量分 69
Mr_cyz
iOS coder
展开
-
Swift版PhotoStackView——照片叠放视图
前言之前流行过一种图片展示视图——photo stack,即照片叠放视图。大致上是这个样子的: (图片出自code4app) 现在我们已经能够使用UICollectionViewLayout来实现这种视图了。Apple给的示例代码中就有这样一个layout,并且示例代码中不仅仅是展示这样的视图,还有非常棒的layout过度动画(结合手势)。在这之前,也有非常多的开源代码能实现这样的效果。本文原创 2015-06-02 22:52:04 · 5275 阅读 · 1 评论 -
iOS开发——多级非互斥TableView的实现
有时我们会需要用到类似QQ好友列表那样可展开的列表,无奈iOS并没有像Android那样给我们提供。只能自己实现了。其实自己封装也好,自由度高,更灵活。原创 2014-12-04 00:14:53 · 2089 阅读 · 1 评论 -
ios开发——滑动星型评分控件的实现
在App Store或者其他一些应用中我们可以通过点击或滑动星星来给应用评分,效果图如下现在我们来实现这一功能。原创 2014-12-03 23:08:47 · 3419 阅读 · 0 评论 -
iOS开发——创建你自己的Framework
在上一篇教程(中译版)中,你学到了怎么样创建一个可复用的圆形旋钮控件。然而你可能不清楚怎样让其他开发者更方便地去复用它。如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件。然而,这种方法并不是很优雅。它会暴露所有的实现细节,而这些实现你可能并不想开源出来。此外,开发者也可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中。另一种方法是将你的代码编译成静态库(library),让其他开发者添加到自己的项目中。然而,这需要你一并公布所有的公开的头文件,实翻译 2015-01-27 17:39:58 · 3690 阅读 · 3 评论 -
ios开发——解决UICollectionView的cell间距与设置不符问题
在用UICollectionView展示数据时,有时我们希望将cell的间距调成一个我们想要的值,但往往不得结果。这里我们来看一个不错的方法原创 2014-11-24 19:31:20 · 15149 阅读 · 2 评论 -
iOS开发——保存自定义对象数组、字典到文件
在ios中,要保存普通的数组到文件可以直接调用-wirteToFile:atomically:方法写入,并且可以通过NSArray的方法-initWithContentOfFile:来读文件初始化数组。然而,当要保存的数组中存储的数据对象是自定义对象时,就得通过对象归档的方法来实现了原创 2014-11-25 21:42:25 · 7271 阅读 · 0 评论 -
ios7新特性:后台抓取(Background Fetch) 的简单应用
iOS的多任务,从4之前的“home立杀”,到4开始原创 2014-05-13 16:56:39 · 2671 阅读 · 0 评论 -
Xcode5.0 (ios7) 下ffmpeg的编译、导入、运行
关于编译:跟着wanghttp://www.cocoachina.com/bbs/read.php?tid=142628原创 2014-06-23 14:34:29 · 1158 阅读 · 4 评论 -
ios开发——长按按出两个UIAlertView的解决办法
有时我们希望通过长按手势来删除一些数据,这是一个比较好的用户体验是在删除之前弹出一个UIAlertView来提醒用户进行二次确认。然而,这样会出现一个bug:你定义的UIAlertView会弹出两次,如下图原创 2014-11-27 10:34:49 · 1168 阅读 · 0 评论 -
ios开发——UICollectionView初阶
UICollectionView是一种新的数据展示视图原创 2014-11-23 10:06:53 · 3296 阅读 · 0 评论 -
iOS开发——点击UITextField弹出UIDatePicker的协议实现方法
一个简单地方法是将自己的UIDatePicker直接赋给UITextField的inputView属性,这样还可以为其添加附加视图,并且比较方便。这里我们用另一种方法实现以下,也就是通过UITextField的协议来实现。这种方法的好处是给了我们更大的灵活性,可以对整个inputView从弹出到使用到结束都能做到自定义。还能熟悉对UITextField的协议的理解。原创 2014-12-30 10:41:07 · 4388 阅读 · 0 评论 -
iOS开发——在特定时间、任意时间做本地推送UILocalNotification
当需要发送一个本地推送的时候,我们需要为其设置fireTime即发送时间,网上好多示例代码只是简单地将一个类似10秒之后的时间设上去,但我们可能更需要在自定义或用户定义的某个特定的时间发送,其实这也不难,算是OC的知识点了——对常用类之时间类的运用。原创 2014-12-30 22:40:53 · 7206 阅读 · 2 评论 -
iOS开发——仿淘宝添加到购物车的动画效果实现
类似于淘宝一样,我们在写一些购物、订餐之类的app的时候,在用户选择购买或者加入购物车时可以添加一个商品飞到购物车中的动画效果,如下图所示:实现这个效果还是不算难的,但涉及的问题比较多,还是挺有学习价值的。主要面对的问题有以下几点1、cell中有button,如何获得该button,即如何知道用户点击的是哪一个button。2、坐标系的转换,这里频繁使用坐标系转换,主要原因是这里需要涉及三个视图——cell、tableView、view3、Bezier曲线的应用。下面我们一一来解决这些问题。正好原创 2015-01-01 15:17:36 · 7171 阅读 · 0 评论 -
Xcode 6.3.2 bug:编辑界面乱跳问题
今天刚把Xcode升级到6.3.2,结果写swift的时候界面各种问题频出,一会代码行数没了,一会整个屏幕没有代码了,一会从这里突然跳到那里。。。简直不能忍。后来才知道是自定义主题的问题。当自定义主题中:字体大小不一致出现斜体出现粗体时就可能产生这种问题,所以解决方法非常简单,直接选用系统默认主题,或者把自定义主题字体大小设为一样把所有斜体和粗体移除即可原创 2015-06-02 21:11:43 · 2187 阅读 · 1 评论 -
iOS开发——封装自己的下拉菜单
效果图思路1、图片的拉伸:UIImage *image = [UIImage imageNamed:@"popover_background"]; image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(24, 0, 24, 0) resizingMode:UIImageResizingModeStretch];-res原创 2015-05-10 15:11:15 · 2398 阅读 · 0 评论 -
iOS开发——对象与字典互相转换
功能通过自定义Model基类,实现: 1、将json字典转换成对象,无需考虑属性名称和字典键(key)的名称的关系,即可以自定义映射关系。也支持字典中自定义对象的赋值。 2、一行代码将对象转换为json字典。使用让自定义的Model类继承自CYZBaseModel即可。然后根据需要选择重写或者调用的方法。 字典转对象: 1、如果字典中的键的名称与对象的属性名称一样,则不需要重新任何方法,或者原创 2015-04-30 18:29:07 · 9502 阅读 · 0 评论 -
iOS开发——ARC小记
1,ARC是编译时特性而不是运行时特性,弱指针系统除外。弱指针系统是iOS5以后才能支持的,如果想适配iOS4及之前,那么不能使用weak。 2,对象被销毁的几种情况:无指针指向、超出作用域(局部变量所在方法的结束或者该对象仅有一实例变量所指,而所在类被dealloc) 3,强类型指针可以保持对象存活。默认实例变量、参数和局部变量都是强类型。 4,_原创 2015-03-30 22:24:30 · 981 阅读 · 0 评论 -
stringWithContentsOfURL:encoding:error方法返回nil
代码NSString *text = [NSString stringWithContentsOfURL:[NSURL urlWithString:@"http://www.xxxx.com"] encoding:NSUTF8StringEncoding error:&error];返回nil给text,error中的信息是:Error Domain=NSCocoaErrorDomain Code=原创 2015-03-28 23:42:17 · 4157 阅读 · 0 评论 -
HealthKit教程 Swift版 Part2——锻炼信息
在我们系列教程的第一篇(中译版)中,你已经学到了使用HealthKit开发的基础:读写数据。在这第二篇,同时也是最后一篇中,你将会学到怎么样处理一种更复杂的数据类型:锻炼与健身的信息(Workout)翻译 2015-01-23 11:15:10 · 1520 阅读 · 0 评论 -
HealthKit开发教程Swift版:起步
HealthKit是iOS 8中的新的API,它提供了一种优雅的方式来获取和存储用户的健康数据。在本篇HealthKit教程中,你将会创建一个简单地记录用户信息的app。在此过程中,你会学到许多关于HealthKit的知识,例如:怎么样向用户请求允许来获得HealthKit的数据怎么样读取信息然后将其格式化展示在屏幕上怎么样将数据写回HealthKit。翻译 2015-01-23 11:09:20 · 2455 阅读 · 0 评论 -
iOS开发——仿Clear纯手势操作的UITableView
在Clear应用中,用户无需任何按钮,纯靠不同的手势就可以完成对ToDoItem的删除、完成、添加、移动。具体来说,功能上有左划删除,右划完成,点击编辑,下拉添加、捏合添加、长按移动。这里将这些功能实现并记录。原创 2015-02-19 22:32:03 · 2609 阅读 · 1 评论 -
iOS开发——圆形过渡动画
iOS开发——圆形过渡动画在一款新的app——Ping中,用户可以订阅自己感兴趣的主题,该应用会向用户推送相关的文章或段落。该应用在视图的切换时采用了一个非常炫酷的动画效果,如下图所示: 现在我们就来实现这一效果。总的来说,所用到的知识点有: 1、使用代理UIViewControllerAnimatedTransitioning实现控制器间的自定义动画 2、使用UIShapeLayer创建原创 2015-02-19 17:03:17 · 4333 阅读 · 0 评论 -
正则表达式学习笔记
微博项目做到了超链接解析部分,听说要用到zheng原创 2014-05-29 16:39:55 · 1315 阅读 · 0 评论 -
ios开发——UIPanGestureRecognizer判定方向
今天在用这个导航栏的时候发现一个问题,UIPanGestureRecognizer是任何滑动手势都会辨别,它不像UISwipeGestureRecognizer一样有方向.这样在有些情况下会产生问题。原创 2014-11-21 21:23:07 · 6199 阅读 · 0 评论 -
ios气泡动画效果的简单实现
在新浪微博应用中如果要查看附近的人或微博,你会发现原创 2014-06-22 11:04:36 · 4978 阅读 · 0 评论 -
ios开发 中文(真机)环境下的时间格式转换问题
今天在处理从新浪微博传回来的时间格式转换问题时发现了一个问题。新浪返回的时间格式为 "Tue May 30 20:10:04 +0800 2014",也就是说我们应该用类似"EEE MMM dd HH:mm:ss Z yyyy"这样的格式进行转换。然而按照如下方法进行转换的时候返回的date总是nil。 NSDateFormatter *dateFormatter = [[NSDate原创 2014-05-30 21:54:35 · 2174 阅读 · 0 评论 -
ios开发 CLLocationManager获取位置信息时遇到的一个小问题
今天在用CLLocationManager开发微博定位功能原创 2014-06-10 17:08:52 · 1492 阅读 · 1 评论 -
iOS开发——新浪微博篇之环境搭建以及新版sdk的相关问题
最近突发奇想希望拿简单的做一下新浪微博的一些简单功能原创 2014-05-24 12:07:14 · 2076 阅读 · 0 评论 -
ios网络编程——从头开始一步一步做soap解析
最近在做一款学院新闻客户端。服务器ti gong原创 2014-05-14 19:06:40 · 1183 阅读 · 0 评论 -
ios7 url中带有中文后报错bad url的解决方法
今天遇到的yi原创 2014-05-11 19:10:32 · 3311 阅读 · 0 评论 -
iOS7的一个小改动:indexPathForCell获取Button的NSIndexPath
在IOS7以下系统,UITableViewCell.superview就是UITableView,但在IOS7中,cell上面还多了一个UITableViewWrapperView,所以需要UITableViewCell.superview.superview获取UITableView原创 2014-04-07 18:00:26 · 2945 阅读 · 0 评论 -
CocoaPods的安装与使用
一、CocoaPods?为了方便的管理第三方开源类库,不用每次都去网站上找下载。我们可以使用CocoaPods,CocoaPods是一个类库的管理工具。大部分著名的开源类库都会支持CocoaPods。有了它,导入类库、更新类库将会非常方便——只需要一行指令。二、Install?安装CocoaPods需要用到命令行。也就是说,需要Ruby环境。而且由于cocoapods.org被原创 2014-07-05 10:57:46 · 1149 阅读 · 0 评论 -
ios开发——详解sqlite数据库,封装数据库操作
利用数据库存储是ios进行数据持久化的三个方法之一,由于sqlite的轻量、易用而备受欢迎,现在我们可以将数据库的一些操作进行封装,方便以后重用。原创 2014-09-18 20:43:09 · 2223 阅读 · 0 评论 -
ios开发——仿新版QQ侧滑导航栏的实现
新版QQ在UI方面做了不少更新,其中一个比较炫酷的效果就是其侧滑导航栏。虽然这种UI已经是被模仿来模仿去烂掉牙了,虽然有统计说这种设计的用户体验并不好。但是我本人还是非常喜欢这种效果的,于是跑去网上学习了一下。这里记录一下其实现。原创 2014-09-20 20:44:50 · 4253 阅读 · 0 评论 -
ios开发——仿新版iBooks书本打开与关闭动画
IOS新版iBooks吸引人的地方除了有干净整洁的界面、方便灵活的操作以及大容量的书籍容量以外,还有其优秀的用户交互,尤其是其动画的使用。打开一本书时书本缓慢放大并打开,关闭一本书后书本关闭并回到原位置。现在我们来实现这个简单的功能。原创 2014-10-01 10:58:41 · 4110 阅读 · 1 评论 -
ios开发——经典翻页库Leaves源码解析
在做文本app的时候经常会用到翻页效果,我了解的翻页效果有三种。最基本的是用transition动画的CurlDown和CurlUp来实现,这种实现非常简单,但是不能控制过程。然后是类似开源库Leaves提供的方法一样,可以控制中间过程,不过只能左右水平翻页。再者就是apple的iBooks以及目前大多数电子书应用都能实现的“最真实的翻页”,不但可以水平控制,而且可以有“折角”,效果也很流畅。原创 2014-10-11 21:06:38 · 1483 阅读 · 0 评论 -
ios开发——UITextView展示txt电子书时的页数调整
UITextView展示内容过多时,对内容进行分页以便更有效地展示每一页的内容,可以用于电子书应用中。原创 2014-09-30 22:23:00 · 3960 阅读 · 3 评论 -
ios设置delegate后crash的问题
今天在写一个inputStream逐行读取文件内容时遇到一个问题,就是设置好inputStream的delegate为self(自己封装的类)后运行直接crash了。报的错误正是原创 2014-10-27 21:46:34 · 2157 阅读 · 0 评论 -
iOS开发——使用NSInputStream逐行读入大文件
有时我们在做读取文件操作时,可能直接将文件一次性读入内存中然后按行分割。这样对于较小的文件而言还好,但是当文件比较大的时候就不是那么理想了。所以我们可以采用惰性读取(lazily read)的方法,逐行读入文件,同时可以在后台处理每行数据,这样就不会影响用户操作了。使用NSInputStream就可以实现这样的功能。原创 2014-10-27 22:31:21 · 9000 阅读 · 0 评论 -
ios8 UITableViewCell重用时自定义子视图不更新问题
之前写一个仿瀑布流demo的时候在tableView中添加子控件,由于tableview的复用机制,下拉出新的cell的时候子控件不会调用layoutSubview方法,于是上网学习发现需要在cell中强制让子控件刷新,即调用子控件item的layoutSubview方法。当时问题也确实解决了,于是借这次做电子书项目将其整理成了博客:http://blog.csdn.net/u01360461原创 2014-10-07 20:12:20 · 4144 阅读 · 0 评论