ios开发中封装button同时显示图片和文字

本文介绍了一种自定义UIButton的方法,通过实现MyButton类并重写布局方法,可以在按钮上同时展示图片和文字,并能自由调整它们的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传入button中自带的文本和图片的样式,即可很容易在button上面按照设置的同时显示图片和文字,不需要其他调整,代码如下:


.h文件

#import <UIKit/UIKit.h>


@interface MyButton : UIButton


@property(nonatomic,assign) CGRect titleFrame;


@property(nonatomic,assign) CGRect imageFrame;

//增加button的一个可选或其他用途的属性

@property(nonatomic,assign)BOOL isSel;


@end

.m 文件

#import "MyButton.h"


@implementation MyButton

- (void)drawRect:(CGRect)rect {

  //  button的文字图片等一些属性在这里设置

    [self setTitleColor:[UIColor colorWithRed:119 / 255.0 green:120 / 255.0 blue:121 / 255.0 alpha:1] forState:UIControlStateNormal];

    self.titleLabel.font = [UIFont systemFontOfSize:15];

    self.backgroundColor = [UIColor clearColor];


}

- (instancetype)initWithFrame:(CGRect)frame{

    

    self = [super initWithFrame:frame];

    

    if (self != nil) {

        

        // 设置文本样式(这里是居中)

        self.titleLabel.textAlignment = NSTextAlignmentRight;

        // 设置图片的内容模式(这里是左边)

        self.imageView.contentMode = UIViewContentModeLeft;


    }

    

    return self;

}


#pragma mark - 方法一

/*

 重新titleRectForContentRect: imageRectForContentRect:

 这两个方法修改文本内容位置和图片内容位置

 */


// 修改文本内容位置

- (CGRect)titleRectForContentRect:(CGRect)contentRect{

    return _titleFrame;

}


// 修改图片内容位置

- (CGRect)imageRectForContentRect:(CGRect)contentRect{

    return _imageFrame;

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值