如果按下按钮,尝试使我的栏按钮执行2个操作。它是否适用于“切换”语句或我如何从这里开始?
代码:
@IBAction func Refreshbutton(sender: AnyObject) {
switch sender.currentTitle! {
case "refresh":
Mapview.userTrackingMode = .Follow
case "refresh2":
Mapview.userTrackingMode = .FollowWithHeading
default: break
}
答案 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! {
这样,如果没有设置标题,应用程序不会崩溃,它只会使用默认情况。