2011-09-28 30 views
6

Tôi có thể tìm một bài đăng dạy cách sử dụng phương thức đại biểu để kiểm tra xem hàng có hợp lệ không và sau đó cuộn sang hàng phù hợp nếu không.Tôi có thể tắt lựa chọn trong mục UIPickerView cụ thể không?

Nhưng đó không phải là điều tôi muốn. Tôi có thể vô hiệu hóa hàng cụ thể sau khi pickerView khởi tạo không? Giống như "Gray-out" hàng và không thể dừng chỉ báo trên đó.

Cảm ơn bạn, các chuyên gia.

Trả lời

10

Có hai phần để thực hiện việc này.

  1. Sử dụng -[<UIPickerViewDelegate> pickerView:viewForRow:forComponent:reusingView:] để trả lại chế độ xem tùy chỉnh cho mỗi hàng, chẳng hạn như UILabel. Đối với hàng bạn muốn hiển thị là bị tắt, bạn sẽ cần phải định cấu hình chế độ xem để phản ánh tính năng vô hiệu đó.
  2. Trong -[<UIPickerViewDelegate> pickerView:didSelectRow:inComponent:], bạn sẽ cần phải phát hiện khi nào bị tắt được chọn và sau đó sử dụng -[UIPickerView selectRow:inComponent:animated:] để "rollback" thành hàng "hợp lệ".
+1

Tôi có một số ý tưởng bây giờ, cảm ơn bạn. – mineschan

+1

Cảm ơn bạn rất nhiều vì thông tin ... Nó hoạt động hoàn hảo .... – iOSAppDev

0

Bạn cũng có thể chỉ để lại một khoảng trống trong việc thực hiện, ví dụ .:

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    if(row==0){ 
//Code 
} 
if(row==1){ 

//BLANK 

} 
if(row==2){ 
//Code 
} 
Các vấn đề liên quan