根据 UISlider 的值更改 NSTime
Posted
技术标签:
【中文标题】根据 UISlider 的值更改 NSTime【英文标题】:Change NSTime with respect to the value of UISlider 【发布时间】:2013-10-02 06:28:10 【问题描述】:关于如何用NsTimer
更改UISlider
值有很多问题和答案,但我需要创建相反的条件,我需要根据UISlider
值更改更改NSTimer
间隔,并希望滑块值以相反的方式工作。那么任何人都可以帮助实现这一目标吗?
感谢您的方法和时间:)
【问题讨论】:
【参考方案1】:你可以在UISlier
的IBAction
处设置Timer再次设置间隔值,方法如下:-
.h 类:-
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
IBOutlet UILabel *lblTimer;
IBOutlet UISlider *timeSlider;
@property(nonatomic,strong)NSTimer *timer;
.m 类:-
- (void)viewDidLoad
[super viewDidLoad];
_timer=[[NSTimer alloc]init];
_timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateLable) userInfo:nil repeats:YES];
// Do any additional setup after loading the view, typically from a nib.
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
int i=0;
-(IBAction)changeSlider:(UISlider*)sender
NSLog(@"%d",(int)sender.value);
[_timer invalidate];
_timer=[[NSTimer alloc]init];
_timer=nil;
_timer = [NSTimer scheduledTimerWithTimeInterval:(int)sender.value target:self selector:@selector(updateLable) userInfo:nil repeats:YES];
// i=0;
//text_field .text= [[NSString alloc] initWithFormat:@" Value %d ", (int)slider.value];
-(void)updateLable
[lblTimer setText:[NSString stringWithFormat:@"%d",i]];
i++;
代码输出
【讨论】:
我需要滑块以相反的方式工作,就像我在每个计时器闪烁手电筒一样,所以需要从最小值到最大值,但滑块值 min 是最大闪烁率,所以我需要以相反的方式跨度> 检查我更新的答案 伟大的工作人员感谢 +1 的努力,但正如您所看到的,如果您最小化滑块标签会快速更改值,但我需要完全相反。 这是合乎逻辑的,您需要在某些条件下设置先生,您是否要求设置滑块明智的计时器时间内部 让我们continue this discussion in chat以上是关于根据 UISlider 的值更改 NSTime的主要内容,如果未能解决你的问题,请参考以下文章
在 UISlider 的缩略图上不断更改 UILabel 的值