文章标题

.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

这里写代码片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值