封装实现UIButton左文字右图片
2016-02-05 15:05
309 查看
#import "TitleButton.h"
@implementation TitleButton
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
self.titleLabel.font = [UIFont boldSystemFontOfSize:16];
[self setTitle:@"title" forState:UIControlStateNormal];
[self setImage:[UIImage imageNamed:@"navigationbar_arrow_down"] forState:UIControlStateNormal];
[self setImage:[UIImage imageNamed:@"navigationbar_arrow_up"] forState:UIControlStateSelected];
}
return self;
}
/** 设置内部imageView的frame */
//- (CGRect)imageRectForContentRect:(CGRect)contentRect
//{
// CGFloat x = ;
// CGFloat y = ;
// CGFloat width = ;
// CGFloat height = ;
// return CGRectMake(x, y, width, height)
//}
/** 设置内部titleLabel的frame */
//- (CGRect)titleRectForContentRect:(CGRect)contentRect
//{
// CGFloat x = ;
// CGFloat y = ;
// CGFloat width = ;
// CGFloat height = ;
// return CGRectMake(x, y, width, height)
//
//}
- (void)layoutSubviews
{
[super layoutSubviews];
//titleLable的x
self.titleLabel.x = 0;
//imageView的x
self.imageView.x = CGRectGetMaxX(self.titleLabel.frame) ;
}
@implementation TitleButton
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
self.titleLabel.font = [UIFont boldSystemFontOfSize:16];
[self setTitle:@"title" forState:UIControlStateNormal];
[self setImage:[UIImage imageNamed:@"navigationbar_arrow_down"] forState:UIControlStateNormal];
[self setImage:[UIImage imageNamed:@"navigationbar_arrow_up"] forState:UIControlStateSelected];
}
return self;
}
/** 设置内部imageView的frame */
//- (CGRect)imageRectForContentRect:(CGRect)contentRect
//{
// CGFloat x = ;
// CGFloat y = ;
// CGFloat width = ;
// CGFloat height = ;
// return CGRectMake(x, y, width, height)
//}
/** 设置内部titleLabel的frame */
//- (CGRect)titleRectForContentRect:(CGRect)contentRect
//{
// CGFloat x = ;
// CGFloat y = ;
// CGFloat width = ;
// CGFloat height = ;
// return CGRectMake(x, y, width, height)
//
//}
- (void)layoutSubviews
{
[super layoutSubviews];
//titleLable的x
self.titleLabel.x = 0;
//imageView的x
self.imageView.x = CGRectGetMaxX(self.titleLabel.frame) ;
}
相关文章推荐
- 用Method Swizzling来避免数组越界与可变字典value值为nil造成的程序崩溃
- 基于脚本的动画的计时控制(“requestAnimationFrame”)(转)
- Error:Gradle version 2.2 is required. Current version is 1.12
- ExAcquireResourceExclusiveLite routine
- 自己定义UITabBarController
- Oc-语句总结(5)-NSnumber/NSvalue/NSDate
- 时间选择器 UIDatePicker 简单的创建方法
- ExAcquireResourceSharedLite routine
- Zoho Recruit -求职者审批表
- Solr DocValues详解
- iOS7系统中的坑——UITableViewCellScrollView
- 使用Hibernate时出现“could not execute query”异常
- iOS开发——UILabel自适应较多的文本
- iOS9 升级后UIAlertController的简单使用
- iOS之UIView加边框及边框颜色
- 移动开发中使用Onsen UI的笔记
- iOS UIWeb与JS之间的交互
- DICOM:DICOM开源库多线程分析之“ThreadPoolQueue in fo-dicom”
- iOS开发技巧之扩展UIColor,支持十六进制颜色设置
- Item 21: 比起直接使用new优先使用std::make_unique和std::make_shared