修复了线程问题导致的bug
重新上传了示例demo,演示了简单的用法。
测试环境:Xcode 6.2,iOS 6.0 以上
头像设置 (作者: mr.nie )
头像设置,相册选择,手势交互
测试环境:Xcode 6.2,iOS 6.0 以上
ZYPinYinSearch,汉字拼音搜索,数组里可存NSString,NSDictionary,Model (作者: dolly来啦 )
1.导入ZYPinYinSearchLib文件夹到自己项目中
2.#import "ZYPinYinSearch.h"
3.调用方法
/** * 搜索数组,返回新的数组。目前支持NSString,NSDictionnary,自定义Model,后面两个可以指定按照哪个字段搜索 * * @param originalArray 要搜索的数据源 * @param searchText 搜索的文本 * @param propertyName 按照字典中或者model中哪个字段搜索,如果数组中存的是NSString,则传@""即可 * @example _dataSourceArray = [ZYPinYinSearch searchWithOriginalArray:_originalArray andSearchText:searchBar.text andSearchByPropertyName:@"name"]; */ +(NSArray *)searchWithOriginalArray:(NSArray *)originalArray andSearchText:(NSString *)searchText andSearchByPropertyName:(NSString *)propertyName;
测试环境:Xcode 6.2,iOS 6.0 以上
ShakeDemo 摇一摇 (作者: leoios )
iOS的摇一摇功能。
测试环境:Xcode 6.2,iOS 6.0 以上
DoubanFM 客户端
侧栏采用了CDSideBarController
结构实际上是tabbarController
第一view是播放界面
第二view是选择频道界面
第三view是登陆界面
第四X是取消sidebar的选取
当前选定的channel 在点击第二view的tableviewcell时用改变appDelegate设定
当前播放歌曲所属专辑的cover 用的是AFN的[UIImageViewController setImageWithURL:(NSURL *)url];
歌曲进度条Progressbar 用了NStimer
歌曲的title,artist
buttons,包括pause/play,like,ban,skip.都是通过AFN向douban发送request获取新的playlist
目前按照doubanFM官方的写了类似的,在登陆之后,获得的频道和歌曲都会不一样,推荐频道会变多,红心歌曲也会同步到douban那边的数据
点击相应的频道可以获取相应的playlist,同时主页信息也会更新
红心频道在没有数据的情况下,会有alertView提示
未登陆时只提供一个登陆的接口,下面的数据在没登陆的情况下,只会显示0,在登陆后则会根据用户信息更新
其中的登陆不是一个button,而是一个imageView添加了手势功能
用户点击上面的登陆之后,会presentViewController: LoginViewController
登陆界面包括账号、密码和验证码
验证码也是来自douban方提供的,原理是先向douban申请一个captchaID,然后用这个返回的captchaID申请一个验证码图片。
点击登陆的时候,parameter包括账号、密码、验证码、验证码ID,如果登陆成果就会dismiss:self,然后回到之前的界面,更新信息;登陆失败则有相应的错误信息用alertview显示。登陆成功要记录用户登陆的一系列数据,之后设置有用。
点击取消则是直接dismiss:self,给了一个退出 LogginViewController的接口。
登陆成功就会更新信息,包括头像、昵称、自己在douban电台的播放信息,包括了played,liked,banned
头像其实还是刚才的登陆的图片,还是用AFN的setimagewithurl:,然后把图片的交互关闭就好了,_loginImage.userInteractionEnabled = NO;同时将下面原本hidden的but显示n登出,button.hidden =
点击登出就会进行登出操作,实际上也是向douban发送一个request,parameter中带了之前登录时返回的一个cookies。有问题的话,会登出失败的(囧)