2016-09-25 4 views
0

눌렀을 때 텍스트가 변경되도록하고 다른 유형의지도 (하이브리드, 표준 또는 위성)를 표시하려고합니다. 하지만 단추를 누르면 오류가 발생합니다 (글쎄, 내가 "textchange"코드가 없을 때). 그렇다면이 오류가 발생하지 않고 앱의 충돌없이지도의 다른 유형을 알고있을 때 텍스트를 변경하려면 어떻게해야합니까?스위프트 버튼 작업 텍스트 변경

나는 세 가지 상태 사이를 전환 할 때 오히려 UISegmentedControl을 사용이 코드

@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) 
    } 
    } 
} 

답변

0

를 사용합니다.

Storyboard의 UISegmentedControl 요소에서 CTRL 끌기 연결로 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 
    }    
} 
+0

는 라벨을 제작하고 대신 텍스트를 변경했다. 그래도 고마워 – Adam

+0

버튼을 눌렀을 때 오류가 발생했습니다. hmm – Adam

+0

어떤 버튼이 있습니까? 특정 오류를 제공하십시오. – pedrouan

관련 문제