码迷,mamicode.com
首页 > 移动开发 > 详细

IOS总结_实现UIButton的图文混排,同时显示文字和图片

时间:2014-07-26 02:57:06      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:ios   uibutton   图文混排按钮   iphone开发   uiimageview   

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


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


实现文件

- (id)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

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

        self.titleLabel.textAlignment=NSTextAlignmentRight;

        self.titleLabel.font=[UIFont systemFontOfSize: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=[[yxpButton alloc] initWithFrame:CGRectMake(200, 5, 100, 30)];

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

    [selectAreaButton setImage:[UIImage imageNamed:@"location"] forState:UIControlStateNormal];

    [selectAreaButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

    [navigationBgView addSubview:selectAreaButton];


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

IOS总结_实现UIButton的图文混排,同时显示文字和图片,布布扣,bubuko.com

IOS总结_实现UIButton的图文混排,同时显示文字和图片

标签:ios   uibutton   图文混排按钮   iphone开发   uiimageview   

原文地址:http://blog.csdn.net/yxiaoping/article/details/38111845

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!