2010-08-10 10 views
2

내 iPhone 앱에서 UIPickerView를 2 가지 구성 요소로 만들고 싶습니다. 처음에는 왼쪽 열이 넓고 오른쪽 열이 좁아서 왼쪽 텍스트를 쉽게 읽을 수있게하여 선택을 허용합니다.UIPickerView - 구성 요소 너비 변경

일단이 열을 선택하면 오른쪽 열을 클릭하여 항목을 선택합니다.이 경우 열의 크기를 조정하여 왼쪽 열이 좁고 오른쪽이 넓어서 텍스트를 읽을 수 있습니다.

나는 "pickerView widthForComponent"를 실험 해왔다. 그러나 뷰가 처음로드 될 때만 호출되는 것처럼 보인다.

동적으로 열의 크기를 조정할 수있는 방법이 있습니까?

감사합니다.

+0

pls (업데이트 된 답변 참조). – kovpas

+0

그렇기 때문에 대답을 받아 들일 때가 적절한 해결책입니다;) – kovpas

답변

2

[pickerView reloadAllComponents]를 사용할 수 있습니다.

업데이트 : 이상한

. 또한 solution을 확인해보십시오.

+0

시도했지만 'pickerView widthForComponent'가 다시 호출되지 않았습니다. – arossco

+1

안녕하세요 Kovpas - 대단히 감사합니다! "; self.pickerView.delegate = 자기; self.pickerView.delegate = 전무"그 해결책은 \t 를 추가하는 'didSelectRow'에서 :-) 트릭을 수행 피커의 대리자를 다시 설정하면 구성 요소 너비가 다시 그려집니다. – arossco

2

다시로드하면 작동하지 않습니다. setNeedsLayout을 호출해야합니다.

[pickerView reloadAllComponents]; 
[pickerView setNeedsLayout];