用NSTimer定时刷新按钮的文字,避免按钮闪烁的办法
来源:互联网 发布:2005网络流行歌曲大全 编辑:程序博客网 时间:2024/05/18 10:11
今天做一个功能,一开始将某按钮置灰,然后倒计时60秒。每秒钟都刷新按钮的文字,倒计时结束后,使按钮可用
很快就做好了,不过发现一个问题,就是按钮会闪烁,跟星星似的。我的代码是:
NSString *text = [NSString stringWithFormat:@"(%d)重发验证码", countDown];[resendButton setTitle:text forState:UIControlStateDisabled];
在网上搜索了一番,说是用NSTimer刷新按钮文字就是会有这个现象
后来想了一个办法,就是在UIButton上罩一个同样大小的UILabel,然后每次刷新UILabel的文字,不刷新按钮,效果不错,不再闪烁了
self.resendCodeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];self.resendCodeButton.frame = CGRectMake(280, 280, 150, 50);self.resendCodeButton.enabled = NO;// 默认不可用[self.resendCodeButton addTarget:self.controller action:@selector(resendCodeButtonPressed) forControlEvents:UIControlEventTouchUpInside]; self.resendCodeLabel = [[UILabel alloc] initWithFrame:CGRectMake(280, 280, 150, 50)];self.resendCodeLabel.textAlignment = NSTextAlignmentCenter;
上面的代码,Label的frame和Button完全一样,后添加到view中,这样就完全盖在Button上面
NSString *buttonTitle = [NSString stringWithFormat:@"(%d)重发验证码",resendCountdown];resendLabel.text = buttonTitle;
总之,思路就是在Button上罩一个Label,原来对Button样式的操作,都可以改为操作Label
0 0
- 用NSTimer定时刷新按钮的文字,避免按钮闪烁的办法
- iOS之用NSTimer定时刷新按钮的文字,避免按钮闪烁的办法
- iOS定时刷新按钮的文字,避免按钮闪烁的办法
- iOS使用GCD或NSTimer定时刷新按钮的文字,按钮文字闪烁的问题
- 消除按钮上的文字闪烁的效果
- 按钮刷新的方法
- 双缓冲避免刷新时的闪烁
- 避免连续点击的按钮
- 避免连续点击的按钮
- 用文字作出按钮的效果
- 设置按钮的文字颜色用setTitleColor
- 用按钮来实现背景色的闪烁
- MFC 托盘按钮和闪烁的制作
- 动态闪烁按钮ShineButton的用法
- iOS 按钮闪烁问题的处理
- Android 让按钮闪烁(点击的时候停止闪烁)
- 改变按钮上的文字
- Silverlight4按钮的文字变色
- 【转】LaTeX插入伪代码2
- C++指针篇
- ubuntu 使用经验01
- oracle笔记——存储函数练习
- Nexus 5入门基础
- 用NSTimer定时刷新按钮的文字,避免按钮闪烁的办法
- vim的中文文档
- ORACL数据处理优化过程(执行时间从几个小时到10几秒的优化过程)
- spring4+hibernate3+struts2整合模板
- Java 运算符
- UML之类图
- BIZTALK2013的学习一
- Android开源项目(类库+控件)
- uva-10879