2016-08-25 3 views
0

나는이 자습서를 사용하여 성공적인 pickerview을 만든 경우 :피커 뷰 및 문

Link to tutorial 나는 각각의 옵션을 선택하면 대부분의 튜토리얼은 단지 하나를 수행하는 방법을 보여 반면 뭔가 다른 일을 할 수 있도록하려는

모든 옵션에 대한 것 옵션 텍스트를 레이블에 넣습니다.

이것은 내가 원하는 것을 시도한 코드입니다. (필자는 코드가 실행되는 경우 확인하기 위해 인쇄 부분에 넣고는 아니었다.)

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     if row == 0 { 
      currentSpeedMeasurement = "MPH" 
      speed = speed * 2.23694 
      print("Testing") 
     }else if row == 1 { 
      currentSpeedMeasurement = "KPH" 
      speed = speed * 3.6 
     } else if row == 2 { 
      currentSpeedMeasurement = "M/S" 
      speed = locationManager.location!.speed 
      //speed = round(100 * speed) 
     } 
    } 

편집 : 다음은 프로젝트 내 모든 코드입니다. 사람이 여행하는 속도를 보여주는 앱을 만들고 있습니다. 사용자가 PickerView (measuredPicker)에서 속도 측정 값을 선택하길 원합니다. MPH.

사용자가 switch 문을 사용하여 선택하는 옵션에 따라 스위치를 활성화하고 싶습니다.

나는 측정 결과와 함께 레이블에 속도를 표시하고 (원하는 측정 값으로 변환 된 상태로 유지) 싶습니다. E.G. "귀하의 속도 : 10MPH"

측정 값이 항상 m/s이기 때문에 스위치가 작동하지 않는 것 같습니다.

도와주세요!

감사

+0

피커 뷰의 SelectRow 메서드가 나왔습니다. –

+0

메서드 시작 부분에서 (pickerView) 및 인쇄 (구성 요소)를 인쇄합니다. 그리고 나머지 상황 (행이 1이고 2 일 때)에 print ("Testing")하고 else {condition, 나머지 모든 것을 포착합니다. – pedrouan

+1

'YouViewController 클래스 : UIViewController, UIPickerViewDelegate {}'와 같은 UIPickerViewDelegate를 추가 했습니까? – pedrouan

답변

1

코드는 좋아 보인다, 난 그것이 작동하지 않는 이유 스위치를

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 

    switch row { 
    case 0: 
     currentSpeedMeasurement = "MPH" 
     speed = speed * 2.23694 
     print("Testing") 
    case 1: 
     currentSpeedMeasurement = "KPH" 
     speed = speed * 3.6 
    default: 
     currentSpeedMeasurement = "M/S" 
     speed = locationManager.location!.speed 
     //speed = round(100 * speed) 
    } 
} 

를 사용하여 더 좋을 것 같아? 난 당신이 선택 도구에 대한 대리자를 설정 놓치고 생각, 스토리 보드

Setting delegate via storyboard

또는 코드를 통해를 통해 수행

@IBOutlet weak var pickerView: UIPickerView! { 
     didSet{ 
      pickerView.delegate = self 
      pickerView.dataSource = self 
     } 
    } 

그리고 이후에 당신과 함께 잘 작동합니다.

+0

원래 게시물을 업데이트했습니다. 읽어주세요. – key9060

+0

위임이 작동하는지 확인하고 함수 내에 간단한 인쇄를 추가하여 인쇄하는지 확인하십시오 – Abdoelrhman

+0

스위치는 행의 값이 아니라 행의 값이 아니므로 if 문보다 확실히 좋을 것입니다 – Abdoelrhman

관련 문제