ios button 自定义

本文介绍如何通过子类化按钮来创建自定义按钮类,并提供了具体的示例代码来展示如何调整按钮背景、内容、标题和图片的位置。

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

可以通过子类化按钮来定制属于你自己的按钮类。

在子类化的时候你可以重载下面这些方法,这些方法返回CGRect结构,指明了按钮每一组成部分的边界。

注意:不要直接调用这些方法, 这些方法是你写给系统调用的。

 

// these return the rectangle for the background (assumes bounds), the content (image + title) and for the image and title separately. the content rect is calculated based
// on the title and image size and padding and then adjusted based on the control content alignment. there are no draw methods since the contents
// are rendered in separate subviews (UIImageView, UILabel)

- (CGRect)backgroundRectForBounds:(CGRect)bounds;        //返回背景边界 (image + title)
- (CGRect)contentRectForBounds:(CGRect)bounds;               //
- (CGRect)titleRectForContentRect:(CGRect)contentRect;      //返回title边界
- (CGRect)imageRectForContentRect:(CGRect)contentRect;  //返回image边界

例:

#define BACK_BOUNDS_W   54.0
#define BACK_BOUNDS_H    22.0

- (CGRect)backgroundRectForBounds:(CGRect)bounds
{
    return CGRectMake((bounds.size.width - BACK_BOUNDS_W)/2,
                      -BACK_BOUNDS_H,
                      BACK_BOUNDS_W,
                      BACK_BOUNDS_H);
}


如下图中的选项按钮自定义图片和文字的位置


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值