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

时间:2012-04-24 11:39:40

标签: objective-c xcode uitableview uipickerview

我以这种方式将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将一些单元格设置为“选择指标”区域,它工作正常。

如何更改点按区域的大小?

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

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

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