尝试在按下时更改文本并显示不同类型的 map (混合、标准或卫星)。 但是当我按下按钮时,我收到错误(好吧,不是当我没有“textchange”代码时)。那么,当它知道其不同类型的 map 时,如何更改文本而不出现此错误并使应用程序崩溃......?
我使用这个代码
@IBAction func mapType(sender: AnyObject) {
if Mapview.mapType == MKMapType.Standard {
Mapview.mapType = MKMapType.Satellite
sender.setTitle("Satellite", forState: .Normal)
} else {
if Mapview.mapType == MKMapType.Satellite {
Mapview.mapType = MKMapType.Hybrid
sender.setTitle("Hybrid", forState: .Normal)
} else {
Mapview.mapType = MKMapType.Standard
sender.setTitle("Standard", forState: .Normal)
}
}
}
最佳答案
在三种状态之间切换时,我宁愿使用 UISegmentedControl
。
使用 CTRL 从 Storyboard 的 UISegmentedControl 元素拖动连接来创建一个 IBAction
。
实现方法如下:
@IBAction func segmentedControlChanged(_ sender: UISegmentedControl) {
print(sender.selectedSegmentIndex)
// if states within your control is indexed in following order: Standard, Satellite, Hybrid:
switch sender.selectedSegmentIndex {
case 0:
Mapview.mapType = MKMapType.Standard
case 1:
Mapview.mapType = MKMapType.Satellite
case 2:
Mapview.mapType = MKMapType.Hybrid
default:
Mapview.mapType = MKMapType.Standard
}
}
关于ios - 快速按钮操作文本更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39685280/