自定义一个图片放在按钮右边位置的按钮
1。WQTitleButton.h
#import <UIKit/UIKit.h>
@interface WQTitleButton : UIButton
@end
1.WQTitleButton.m
#import "WQTitleButton.h"
#define ImageW 30
@implementation WQTitleButton
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
if (self = [super initWithCoder:aDecoder]) {
//设置图片显示的样式
self.imageView.contentMode = UIViewContentModeCenter;
}
return self;
}
-(CGRect)titleRectForContentRect:(CGRect)contentRect{
CGFloat titleW = contentRect.size.width-ImageW;
CGFloat titleH = contentRect.size.height;
return CGRectMake(0, 0, titleW, titleH);
}
-(CGRect)imageRectForContentRect:(CGRect)contentRect{
CGFloat imageW = ImageW;
CGFloat imageH = contentRect.size.height;
CGFloat imageX = contentRect.size.width-ImageW;
//self.imageView.contentMode = UIViewContentModeCenter;
return CGRectMake(imageX,0, imageW, imageH);
}
-(void)setHighlighted:(BOOL)highlighted{
}
@end
3. 如果点击按钮的过程中,给按钮图片增加动画,如下:
- (IBAction)clickTitle:(UIButton *)sender {
[UIView animateWithDuration:0.25 animations:^{
if (CGAffineTransformIsIdentity(sender.imageView.transform)) {
sender.imageView.transform = CGAffineTransformMakeRotation(M_PI);
}else{
sender.imageView.transform = CGAffineTransformIdentity;
}
}];
}