酒吧按钮双动作迅捷

时间:2016-09-21 13:43:26

标签: ios swift

如果按下按钮,尝试使我的栏按钮执行2个操作。它是否适用于“切换”语句或我如何从这里开始?

代码:

@IBAction func Refreshbutton(sender: AnyObject) {


    switch sender.currentTitle! {
    case "refresh":
    Mapview.userTrackingMode = .Follow

    case "refresh2":
    Mapview.userTrackingMode = .FollowWithHeading

    default:  break

    }

1 个答案:

答案 0 :(得分:1)

这将是一种方法。但是,最好将类状态保存在类中而不是使用标题,因为它可能会在未来进行本地化,因为您应该尝试将UI与逻辑分开。你可以这样做:

var trackingMode = .FollowWithHeading
@IBAction func Refreshbutton(sender: AnyObject) {    
   trackingMode = trackingMode == .Follow ? .FollowWithHeading : .Follow
   Mapview.userTrackingMode = trackingMode
}

您可以直接使用地图的属性:

@IBAction func Refreshbutton(sender: AnyObject) {    
   Mapview.userTrackingMode = Mapview.userTrackingMode == .Follow ? .FollowWithHeading : .Follow
}

作为您发布的代码的附注,如果您愿意,那将更加安全

switch sender.currentTitle ?? "" {

而不是

switch sender.currentTitle! {

这样,如果没有设置标题,应用程序不会崩溃,它只会使用默认情况。