如何在UIPickerView中选择UITableView中的单元格



我以这种方式添加了UITableView作为UIPickerViewRow的子视图:

- (NSInteger)pickerView:(UIPickerView *)pickerView 
             numberOfRowsInComponent:(NSInteger)component {
        return 1; 
}
- (UIView *)pickerView:(UIPickerView *)pickerView 
            viewForRow:(NSInteger)row 
          forComponent:(NSInteger)component 
           reusingView:(UIView *)view {
        self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 280, 216)];
        self.tableView.delegate = self;
        self.tableView.dataSource = self;
        return self.tableView;
}

但我可以点击位于"选择指示器"区域中的那个单元格。例如,我有从 1 到 5 的表格,3 位于"选择指示器"区域中,我点击它,它会向 didSelectRowAtIndexPath 发送消息,但如果我点击 1-2 或 4-5 单元格,它什么也不做,然后我滚动 tableView 将某个单元格设置为"选择指示器"区域,它工作正常。

如何更改水龙头区域的大小?

对不起我的英语。

解决方案很简单。只需将行的高度设置为UIPickerViewRow的高度即可。

-(CGFloat)pickerView:(UIPickerView *)pickerView 
          rowHeightForComponent:(NSInteger)component {
    return self.pickerView.frame.size.height;
}

最新更新