Sử dụng phương pháp sau đây,
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
// put your logic here.
}
Trên phương pháp là từ UIPickerViewDelegate, Nếu người dùng chọn bất kỳ yếu tố sử dụng pickerview, phương pháp này được tự động kích hoạt.
Hy vọng điều đó sẽ giúp ích cho bạn.
Sửa:
Tôi nghĩ rằng bạn nên sử dụng phương pháp sau đây để phát hiện - trong đó hướng người dùng được di chuyển?
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSLog(@"scrolling to row is %@",[NSString stringWithFormat:@"index_%i",row]);
return [NSString stringWithFormat:@"index_%i",row];
}
bất cứ khi nào người dùng cuộn lên/xuống phương pháp trên được kích hoạt tự động tương tự như UITableView
. Hãy nhớ rằng UIPickerView
đang sử dụng UIPickerTableView
riêng tư, vì vậy chúng tôi không thể phát hiện được cách bạn muốn.
Hãy để tôi giải thích việc phát hiện hướng trong pickerview.
Ví dụ. Các hàng hiển thị là index_4,index_5,index_6,index_7
. Bây giờ nếu người dùng cuộn xuống, hãy gọi số index_8
. Tương tự, nếu người dùng đang cuộn lên, hãy index_3
sẽ được gọi.
Tôi hy vọng mẹo này sẽ giải quyết được sự cố của bạn. Mặc dù cho tôi biết phản hồi của bạn về điều này.
Nguồn
2011-10-02 11:47:57
Tôi đã biết phương pháp này.vấn đề là nó kích hoạt khi bộ chọn đã ngừng di chuyển, tôi cần một cuộc gọi lại trong khi nó vẫn đang cuộn. –
@AndrewPark - Tôi đã cập nhật câu trả lời. –
cảm ơn! tôi không có ý tưởng titleForRow được gọi trong khi nó cuộn. –