编辑
也许我错误地描述了这个问题。让我补充一点,这个分段控制器NSTimer
使用以下代码控制 a 的速度。
- (IBAction) segmentAction:(id)sender
{
speed = [[speeds objectAtIndex:[sender selectedSegmentIndex]] integerValue];
}
- (IBAction)startPause: (UIButton *)sender{
NSString *buttonTitle = sender.currentTitle;
if ([buttonTitle isEqualToString: @"Pause"]) {
[self.myButton setTitle:@"Resume" forState:UIControlStateNormal];
[timer invalidate];
}
else
{
[self.myButton setTitle:@"Pause" forState:UIControlStateNormal];
if ([self.deal length]>cardNum) {
timer = [NSTimer scheduledTimerWithTimeInterval:speed
target:self
selector:@selector(dealCard)
userInfo:nil
repeats:YES];
}
else
{
[timer invalidate];
}
}
}
当用户在点击按钮之前点击 segmentedController 中的任何段时startPause
,NSTimer 工作正常。如果用户startPause
在点击片段之前点击按钮,那么 NSTimer 不会发生(期望的)延迟。这是否有助于更好地解释这种情况?
编辑
我在 Storyboard 中有一个 UISegmentedControl 并想要初始化它。在情节提要本身中初始化它会特别好。下图显示了 Med 段是如何被选择的,但是当应用程序启动时,Med 没有被选择;而是用户必须触发Value changed
事件。最初如何选择它?SO上的其他问题之一建议使用以下代码,但我还没有弄清楚如何将我的故事板中的 UISegmentedControl 与 name 相关联segmentControl
。
segmentControl.selectedSegmentIndex=-1;