UIButton的图文混排

来源:互联网 发布:中科大linux内核分析 编辑:程序博客网 时间:2024/05/21 13:22
我们常常需要用到按钮需要文字和图片同时显示,例如: 我们需要定义一个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];就这样 就可以实现一个按钮的图文混排了

0 0