IOS总结_实现UIButton的图文混排(一)

我们常常需要用到按钮需要文字和图片同时显示,例如:


我们需要定义一个UIButton的子类


实现文件

- (id)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

        //可根据自己的需要随意调整

        self.titleLabel.textAlignment=NSTextAlignmentRight;

        self.titleLabel.font=[UIFontsystemFontOfSize:14.0];

        self.imageView.contentMode=UIViewContentModeLeft;

    }

    return self;

}

//重写父类UIButton的方法


//更具button的rect设定并返回文本label的rect

- (CGRect)titleRectForContentRect:(CGRect)contentRect

{

    CGFloat titleW = contentRect.size.width-30;

    CGFloat titleH = contentRect.size.height;

    CGFloat titleX = 0;

    CGFloat titleY = 0;

    

    contentRect = (CGRect){{titleX,titleY},{titleW,titleH}};

    return contentRect;

}


//更具button的rect设定并返回UIImageView的rect

- (CGRect)imageRectForContentRect:(CGRect)contentRect

{

    CGFloat imageW = 25;

    CGFloat imageH = 25;

    CGFloat imageX = contentRect.size.width-26;

    CGFloat imageY = 2.5;

    

    contentRect = (CGRect){{imageX,imageY},{imageW,imageH}};

    return contentRect;

}


    //使用UIButton的子类

    yxpButton *selectAreaButton=[[yxpButtonalloc] initWithFrame:CGRectMake(200,5, 100, 30)];

    [selectAreaButton setTitle:@"图文混排"forState:UIControlStateNormal];

    [selectAreaButton setImage:[UIImageimageNamed:@"location"]forState:UIControlStateNormal];

    [selectAreaButton setTitleColor:[UIColorwhiteColor] forState:UIControlStateNormal];

    [navigationBgViewaddSubview:selectAreaButton];


就这样 就可以实现一个按钮的图文混排了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值