通用的排序按钮

排序按钮,使用Core Graphic绘制,可以指定颜色、大小、字体等:
在这里插入图片描述
使用场景如下:

在这里插入图片描述

1.使用方法

下载demo代码。将HYRankView.h和HYRankView.m代码拖入工程。

然后使用如下代码,即可快速添加一个名称为价格的排序按钮

HYRankView *view = [HYRankView viewWithTitle:@"价格" frame:CGRectMake(0,100,80,40)];
[self.view addSubview:view];

排序按钮默认是未选中状态,只需要一行代码即可改变排序按钮状态。
在这里插入图片描述

2.改变选中状态

只要调用makeOpposite方法:

[view makeOpposite];

即可改为按“高到低”的选中状态:
在这里插入图片描述
再调用一次makeOpposite方法,即会改为按“低到高”的选中状态,所以makeOpposite的功能为改变排序方式。
在这里插入图片描述
但是点击排序按钮,并没有任何响应,为此我们需要添加一个点击事件。

3.添加点击事件

HYRankView继承自UIControl,可以像UIButton等控件一样添加响应事件:

[view addTarget:self action:@selector(clickPrice:) forControlEvents:UIControlEventTouchUpInside];

实现clickPrice:,在方法中调用makeOpposite方法改变排序状态

-(void)clickPrice:(HYRankView*)sender{
    [sender makeOpposite];
}

4.改变按钮UI

如下代码,创建名称为销量的排序按钮,并改变字体颜色、三角形大小、选中和非选中颜色:

    HYRankView *view2 = [HYRankView viewWithTitle:@"销量" frame:CGRectMake(200,100,120,40)];
    view2.textFont = [UIFont systemFontOfSize:20 weight:UIFontWeightBold];
    view2.triangleW = 20;
    view2.selectColor = [UIColor redColor];
    view2.unselectColor = [UIColor blackColor];
    [view2 addTarget:self action:@selector(clickSaleCount:) forControlEvents:UIControlEventTouchUpInside];
    [view2 makeOpposite];
    [self.view addSubview:view2];
    self.view2 = view2;

运行效果:
在这里插入图片描述

HYRankView及demo代码:
https://github.com/dolacmeng/HYRankViewDemo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值