关于uitableviewcell上增加button,点击后播放音频,想让音频播放完成后更改button状态的解决方:

首先说一下,这种方法真的很牛,以后最好能活学活用:

在做吃货的这个应用,因为我们的uitableviewcell上需要增加一个按钮,当点击这个按钮后开始播放音频(同时button状态改为selected),这些处理都没问题了,但现在的问题是当音频播放完成后会触发有个代理方法(即告诉音频已播放完成

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

),我应该怎么在这个方法里再来更改button的状态呢:  

跟群里兄弟聊天才知道,我可以再去定义一个全局的button,然后将cell中的这个button赋值给这个全局button,当音频播放完成后,在那个代理方法里写上 button.selected = NO;即可






我的代码实现是这样,这里只截取片段吧:

在.h文件中:

UIButton *btn;

@property(nonatomic,retain)UIButton *btn;


在.m文件中:

首先-(void)dealloc方法这样写:

if (btn) {                  //这个地方就是我下偏文章中提到的若不确定会创建,那么在delloc里release的时候最好判断下

        [btn release];

        btn = nil;

    }

    

    [super dealloc];


在 

-(UITableViewCell *)tableView:(UITableView *)tableViewDemo cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个方法里将cell的button赋给这个全局的button:

self.btn = cell.audioinfoButton;



接着就可以在这个音频播放完成的代理类里更改button的状态了:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

NSLog(@"播放完成");

    self.btn.selected = NO;


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值