UIButton的默认布局是:title在右,image在左; 很多时候我们需要的是title在左边,或者title在下面,这时就需要调整UIButton的TitleLabel和ImageView的位置了,查了很多资料,要么零零散散的介绍,要么就是特别复杂的实现;经过一段时间的学习,在这里总结一下实现的方式; 一种是设置UIButton的以下两个属性: @property(nonatomic) UIEdgeInsets titleEdgeInsets; // default is UIEdgeI…
在之前的有篇文章讲述了利用HeaderView来写类似QQ好友列表的表视图. 这里写的天猫抽屉其实也可以用该方法实现,具体到细节每个人也有所不同.这里采用的是点击cell对cell进行运动处理以展开“抽屉”. 最后完成的效果大概是这个样子. 主要的环节: 点击将可视的Cell动画弹开. 其他的Cell覆盖一层半透明视图,将视线焦点集中在弹出来的商品细分类别中. 再次点击选中的或其他Cell,动画恢复到点击之前所在的位置. 商品细分类别属于之前写过的九宫格实现.这里就不贴代码了.之前的文章:点击打…
原文链接:http://www.ios122.com/2015/08/mjrefresh/ 简介 MJRefresh这个第三方库是李明杰老师的杰作,这个框架帮助我们程序员减轻了超级多的麻烦,节约了开发时间,提高了开发效率.由于目前能力有限,尚不能自己写一套框架,所以就先膜拜和看明白大牛的框架了. 用于为应用添加常用的上拉加载更多与下拉刷新效果,适用 UIScrollView . UITableView . UICollectionView . UIWebView. gtihub上的地址:http…
内置刷新 内置刷新是苹果IOS6以后才推出的一个API,主要是针对TableViewController增加了一个属性,refreshControl,所以如果想用这个内置下拉刷新的话,最好给你的TableView指定一个专门的视图控制器了. 使用的话,我们需要给refreshControl指定一个UIRefreshControl对象.跟进到头文件中看到 三个属性,算上初始化三个方法,并不难,然后配置refreshControl 附上代码 /******内置刷新的常用属性设置******/ UIR…
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" encoding="UTF-8"?> <Books> <Book id="1"> <title>Circumference</title> <author>Nicholas Nicastro</autho…
上篇博客介绍了如何使用UITableView实现类似QQ的好友界面布局.这篇讲述如何利用自定义单元格来实现聊天界面的布局. 借助单元格实现聊天布局难度不大,主要要解决的问题有两个: 1.自己和其他人说话头像和气泡图像在不同的位置. 找了些类似的例子,有根据不同情况设置不同的自定义类的.这里使用根据说话人的属性来设置不同的位置,在一个单一的单元格类中. 2.像微博等根据说话的内容长短对说话图片进行拉伸,以及单元格自适应高度. 实现步骤: 搭建界面 数据属性字典 读取数据 - (void)loadD…
  提前说好,本文绝对不是教你如何使用MMDrawerController这个第三方库,因为那太多人写了 ,也太简单了.这篇文章主要带你分析MMDrawerController是怎么实现抽屉效果,明白第三方库的内部原理.例外,本人也封装了一个FHSegmentControl的第三方库,欢迎大家去看看啊. 1.MMDrawerController的实例化方法   先明确几个变量的意义. // 中央控制器 @property (nonatomic, strong) UIViewController…
  协议就是一组接口的集合,遵守一个协议之后就拥有的该协议中所有方法的声明.NSObject这个类遵守了NSObject协议,并且实现了NSObject协议里的所有方法,所以NSObject类及其子类都可以调用这些方法.本文主要介绍NSObject协议里的方法. - (BOOL)isEqual:(id)object;   "=="判断是否是同一个对象,比较的是内存地址."isEqual"判断两个对像是否相同,比较的是成员变量的值是否相同. @interface Pe…
#import "CustomButton.h" #define ImageW 15 #define ImageH 15 #define KRadio 0.75 @implementation CustomButton -(instancetype)initWithCoder:(NSCoder *)aDecoder{ if (self = [super initWithCoder:aDecoder]) { //设置图片显示的样式 //self.imageView.contentMode…
介绍下使用EOF heredoc方式,输出长段内容的方法, <?php $name = '姓名'; print <<<EOT <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>heredoc用法详解_www.cnblogs.com</title> &l…