UIPickerView가로드 된 후 행 선택
UIPickerView
테이블에서 데이터 를로드하는 iPhone 데이터베이스 앱이 있습니다. 선택한 행을 다른 테이블의 데이터에서 특정 행으로 설정하고 싶습니다.
예 : UIPickerView
iPhone 사용자의 친구 이름이 X 개로로드되어 있다고 가정 해 보겠습니다 (이름의 수는 가변적이며 1 개 또는 1000 개가 될 수 있으며 모두 사용자가 데이터베이스에 입력합니다). iPhone 사용자는 현재 가장 친한 친구가 TED 라는 기본 설정을 가지고 있습니다. 나는 표시 될 때 TED에UIPickerView
위치하기를 원합니다 .
어디로 전화 selectRow
합니까?
시도해 보았지만 viewDidAppear
호출되지 않아 titleForRow
모든 종류의 이상한 동작이 발생했습니다. viewDidLoad
그리고 viewWillAppear
나는 아직 피커에 데이터 소스에서 무엇을 알 수 없기 때문에, 질문 밖으로있다.
데이터를 검색 한 후 호출하십시오. 나는 당신이 데이터를 어디에서로드하는지 모르겠다. 그래서 이것은 작동해야하는 것에 대한 모형 일 뿐이다. 이것이 말이되지 않는다면, 데이터를로드하는 위치를 알려주세요.
-(void)viewDidLoad
{
// load data from sql
// self.someDataArray = DATAFROMSQL
[picker reloadAllComponents];
[picker selectRow:0 inComponent:0 animated:YES];
}
UIPickerView가 처음 표시 될 때 (기본값) UIPickerView 항목을 선택해야하는 경우 일반적인 문제가 있습니다. 문제는 일련의 이벤트와 관련이 있습니다. 이전 게시물을 읽은 결과 [pickerView selectRow : n]은 일반적으로 뷰 컨트롤러 ViewDidLoad 이벤트에서 호출되는 것으로 보입니다. 그러나 UiPickerView 데이터는 ViewDidLoad 이벤트 이후에만로드되므로 ViewDidLoad의 선택 코드가 적용되지 않습니다. 문제를 해결하려면 ViewDidAppear에 선택 코드를 배치하십시오.
- (void) viewDidAppear:(BOOL)animated {
[m_pickerView selectRow:nSelectedItem inComponent:0 animated:YES]; }
하위 뷰로 UIView
포함하는 초기화 할 때마다 이것을 배치 하십시오 UIPickerView
.
[myPickerView selectRow:rowWithTedsName inComponent:columnWithNames animated:NO];
4.3 SDK의 구성 요소 로딩 동작이 iPhone과 iPad간에 다릅니다. iPhone에서는 subview 계층 구조에 추가하기 전이나 후에 뷰를 초기화 한 직후 selectRow :를 호출하려고했습니다. 그러나 iPad에서는 selectRow 호출이 결과를 산출하지 못했습니다. performSelector : withObject : afterDelay : selectRow : inComponent : animated :를 실행하기 전에 0.1 초 동안 대기하도록 호출을 사용하여 마무리했습니다. 이것은 iPhone과 iPad에서 예측 가능한 결과를 가져 왔습니다.
Swift의 경우 간단합니다.
self.picker?.selectRow(0, inComponent: 0, animated: true)
선택한 행을 영구적으로 강조 표시하려면 다음을 사용하십시오.
myPickerView.subviews[0].subviews[0].subviews[2].backgroundColor = myPickerView.tintColor;
참고 URL : https://stackoverflow.com/questions/812995/select-row-after-uipickerview-is-loaded
'Development Tip' 카테고리의 다른 글
한 프로젝트의 spring-config.xml을 다른 프로젝트의 spring-config.xml로 가져 오는 방법은 무엇입니까? (0) | 2020.10.20 |
---|---|
Android Studio-디버그 대신 릴리스 APK 배포 (0) | 2020.10.20 |
Virtualenv 및 소스 버전 제어 (0) | 2020.10.19 |
정확히 PHI 명령어의 기능과 LLVM에서 사용하는 방법 (0) | 2020.10.19 |
jq를 사용하여 json 문서의 단일 값을 어떻게 업데이트합니까? (0) | 2020.10.19 |