Ios 如何创建一个按钮,但使其具有两个功能?

Ios 如何创建一个按钮,但使其具有两个功能?,ios,xcode,swift,Ios,Xcode,Swift,我为秒表创建了两个独立的按钮,开始和停止。我如何将其组合成一个按钮。单击开始,计时器启动,然后函数应更改,以便在单击时停止,然后再次单击时重置 @IBAction func start(sender: AnyObject) { if !timer.valid{ let aSelector : Selector = "updateTime" timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: s

我为秒表创建了两个独立的按钮,开始和停止。我如何将其组合成一个按钮。单击开始,计时器启动,然后函数应更改,以便在单击时停止,然后再次单击时重置

    @IBAction func start(sender: AnyObject) {
     if !timer.valid{
    let aSelector : Selector = "updateTime"
    timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
    startTime = NSDate.timeIntervalSinceReferenceDate()


    }
}

@IBAction func stop(sender: AnyObject) {
    timer.invalidate()
}

你可以这样做

@IBAction func startstop(sender: AnyObject) {
    if !timer.valid{
        let aSelector : Selector = "updateTime"
        timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
        startTime = NSDate.timeIntervalSinceReferenceDate()
    }
    else{
        timer.invalidate()
    }
}
否则,您可以将一个标志设置为
布尔值


您可以根据条件按真或假进行检查。

使用按钮选择和未选择状态 因为您可以为不同状态的按钮指定不同的图像

[button setImage:[UIImage imageNamed:@"touch_selected.png"] forState:UIControlStateSelected];

[button setImage:[UIImage imageNamed:@"touch_selected.png"] forState:UIControlStateHighlighted];
使用之后

@IBAction func buttonAction(sender: AnyObject) {
     // use you if statement to select the condition for start and stop 
     if ([_button isSelected]){
         // start function
     } else {
         //stop function 
     }
}

很抱歉,代码是Obj c和swift的混合体

使用bool变量启动和停止。