2012-02-23 29 views
5

Có cách nào để làm cho PickerView trong Xcode bắt đầu ở một hàng mặc định không? Ngay bây giờ, PickerView của tôi bắt đầu ở phần tử đầu tiên trong mảng của tôi.Xcode: Làm thế nào để PickerView bắt đầu tại một hàng nhất định khi được hiển thị lần đầu tiên

Ví dụ: nếu tôi có 1 thành phần với 30 hàng, làm cách nào tôi có thể làm cho PickerView bắt đầu ở hàng 15 khi người dùng đầu tiên nhìn thấy PickerView?

Cảm ơn

Trả lời

9

sử dụng - [UIPickerView selectRow: inComponent: hoạt hình:] ... giả sử bạn có một thành phần, làm như sau:

UIPickerView *aPicker = [[[UIPickerView alloc] init] autorelease]; 
aPicker.delegate = self; 
aPicker.dataSource = self; 
aPicker.showsSelectionIndicator = YES; 
[self.view addSubview:aPicker]; 
[aPicker selectRow:14 inComponent:0 animated:NO]; 
0

Bạn phải gán một biến tên là selectedrow mà có giá trị mặc định 0 trong viewDidLoad của bạn. tức là int seletedrow = 0;

Sau đó làm tiếp theo, trong phương pháp didSelectRow của UIPickerView:

- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component 
{ 

    selectedrow=row; 

} 

Và ghi cuối cùng sau mã nơi bạn đang initialising PickerView:

_pickerView=[[UIPickerView alloc]initWithFrame:CGRectMake(0, 43, 320, 480)]; 
    _pickerView.delegate=self; 
    _pickerView.dataSource=self; 
    _pickerView.backgroundColor=[UIColor whiteColor]; 
    [_pickerView selectRow:selectedrow inComponent:0 animated:NO]; 
    [_pickerView setShowsSelectionIndicator:YES];  
Các vấn đề liên quan