您的位置:首页 > 其它

文章标题

2016-12-13 09:40 204 查看
.h

import

- (void) setLeftAndRightTextWithImage:(UIImage *)image withTitle:(NSString *)title forState:(UIControlState)stateType withTextFont:(float)textFont;


/**

左边文字,右边图片

*

@param image Picture

@param title Title

@param stateType UIControlState

@param imageFontV ImageFont

@param titleFontV Title Font

*/- (void) setRightAndleftTextWithImage:(UIImage *)image withTitle:(NSString *)title forState:(UIControlState)stateType andImageFontValue:(float)imageFontV andTitleFontValue:(float)titleFontV;


@end

//.m中

import “UIButton+UIButtonImageWithLable.h”

@implementation UIButton (UIButtonImageWithLable)

/**

上面图片,底部文字 button

*

@param image Picture

@param title Title Text

@param stateType UIControlState

@param tintColor tintColor

*/

- (void) setTopAndBottomImage:(UIImage *)image withTitle:(NSString *)title forState:(UIControlState)stateType andTintColor:(UIColor *)tintColor {

//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)

int gapX = (self.frame.size.width- image.size.width)/2;

[self.imageViewsetContentMode:UIViewContentModeCenter];

[selfsetImageEdgeInsets:UIEdgeInsetsMake(0,

gapX,

25,

gapX)];

[selfsetImage:image forState:stateType];

//[self setImage:[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:stateType];

[self.titleLabelsetContentMode:UIViewContentModeCenter];

[self.titleLabelsetBackgroundColor:[UIColorclearColor]];

[self.titleLabelsetFont:[UIFontsystemFontOfSize:12.0]];

[self.titleLabelsetTextColor:[UIColordarkGrayColor]];

[selfsetTintColor:tintColor];

[selfsetTitleEdgeInsets:UIEdgeInsetsMake(image.size.height,

-image.size.height,

0.0,

0.0)];

[selfsetTitleColor:tintColor forState:stateType];

[selfsetTitle:title forState:stateType];

}


pragma mark 备注:如果不需要上下显示,只需要横向排列的时候,就不需要设置左右偏移量了,代码如下

/**

左边图片右边文字

*

@param image 图片

@param title title

@param stateType UIControlState

@param textFont titleLabel Font Size

*/

- (void) setLeftAndRightTextWithImage:(UIImage *)image withTitle:(NSString *)title forState:(UIControlState)stateType withTextFont:(float)textFont {

//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)

[selfsetImageEdgeInsets:UIEdgeInsetsMake(0.0,

0.0,

0.0,

0.0)];

[selfsetImage:image forState:stateType];

self.contentHorizontalAlignment =UIControlContentHorizontalAlignmentLeft;

[self.titleLabelsetFont:[UIFontsystemFontOfSize:textFont]];

[self.titleLabelsetTextColor:[UIColordarkGrayColor]];

[selfsetTitleEdgeInsets:UIEdgeInsetsMake(0.0,

0.0,

0.0,

0.0)];

[selfsetTitle:title forState:stateType];

}


/**

左边文字,右边图片

*

@param image Picture

@param title Title

@param stateType UIControlState

@param imageFontV ImageFont

@param titleFontV Title Font

*/

- (void) setRightAndleftTextWithImage:(UIImage *)image withTitle:(NSString *)title forState:(UIControlState)stateType andImageFontValue:(float)imageFontV andTitleFontValue:(float)titleFontV {

//UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)

[selfsetContentEdgeInsets:UIEdgeInsetsMake(0,0, 0,0)];

[self.imageViewsetContentMode:UIViewContentModeCenter];

[selfsetImageEdgeInsets:UIEdgeInsetsMake(0.0,

self.frame.size.width- image.size.width,

0.0,

0.0)];

[selfsetImage:image forState:stateType];

self.contentHorizontalAlignment =UIControlContentHorizontalAlignmentRight;//使得button中titleLabel居中左对齐,右对齐

self.titleLabel.textAlignment =NSTextAlignmentRight;

[self.titleLabelsetFont:[UIFontsystemFontOfSize:titleFontV]];

[self.titleLabelsetTextColor:[UIColordarkGrayColor]];

[selfsetTitleEdgeInsets:UIEdgeInsetsMake(0.0,

-image.size.width,

0.0,

image.size.width)];// 设置边距

[selfsetTitle:title forState:stateType];

}


@end

这里写代码片
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: