0

UITableViewこの方法で as サブビューを追加しました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 をスクロールして、一部のセルを「選択インジケーター」領域に設定すると、正常に動作します。

タップ領域のサイズを変更するには?

私の英語でごめんなさい。

4

1 に答える 1

0

解決策は簡単です。行の高さを の高さとして設定するだけUIPickerViewRowです。

-(CGFloat)pickerView:(UIPickerView *)pickerView 
          rowHeightForComponent:(NSInteger)component {
    return self.pickerView.frame.size.height;
}
于 2012-04-25T13:14:59.617 に答える