2013-01-09 44 views
5

Tôi có một UITableView với một minh bạch backgroundColor, và các tế bào bên trong được khởi tạo với đoạn mã sauUITableView không đáp ứng với chạm cùng vùng trong suốt

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
    self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, CGRectGetWidth(self.contentView.frame), 180)]; 
    self.label.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    self.label.text = @"test"; 
    [self.contentView addSubview:self.label]; 
    } 
    return self; 
} 

Mỗi hàng có chiều cao là 200, và các nhãn doesn không lấp đầy toàn bộ ô. Sẽ có các phần trong suốt ở giữa mỗi ô. Khi tôi cố gắng cuộn bảng bằng cách chạm vào các phần trong suốt đó, các điểm chạm sẽ bị bỏ qua hoàn toàn. Tôi biết rằng khi iOS5, chạm vào lượt xem sẽ bị bỏ qua. Tôi có thể làm gì để giải quyết vấn đề này?

Những điều tôi đã cố gắng mà không có tác dụng:

Thiết lập một trong suốt hoặc ẩn hoặc alpha = 0 UIView để hoạt động như một nền tảng giả của Tương tự đối phó tableView

, chạm được bỏ qua .

Tạo một subclassed UIView trên đầu trang của tableView, và subclassed UIView sử dụng tableView như nextResponder

Rõ ràng UITableView không sử dụng touchesBegan/hủy/kết thúc/di chuyển, vì vậy đây không hoạt động. Tôi không nghĩ rằng nó là khôn ngoan để thực hiện các phương pháp của tôi để di chuyển các UITableView hoặc.

Thiết lập backgroundColor của tableView để [UIColor colorWithRed:0 green:0 blue:0 alpha:0.1]

tôi không muốn làm điều này, nó vẫn còn nhìn thấy được.

Tóm lại, Tôi có thể làm gì để cuộn bảng ngay cả khi tôi bắt đầu cuộn từ phần trong suốt?

+0

Kính gửi @Augustine, bạn có thể thực hiện tác vụ của mình bằng các phương thức cuộn đại biểu khác (có sẵn trong 'UIScrollview') .Bạn có thể ném một số ánh sáng tại sao bạn muốn làm việc với phương thức' touchesBegan' không? –

+0

Tôi đã nghĩ rằng tôi có thể sử dụng touchesBegan để đánh chặn các liên lạc trước khi nó bị bỏ qua do khu vực cảm động được minh bạch, nhưng dường như không hoạt động. –

+0

Tôi đã thử đặt scrollViewDidScroll và scrollViewWillBeginDragging: trong ủy nhiệm của tableView, nhưng không được gọi khi tôi bắt đầu cuộn từ phần trong suốt. PS Làm cách nào để bạn đặt nền màu xám cho từ khóa? Giống như những gì bạn đã làm cho UIScrollview và chạm vàoBegan trong nhận xét của bạn. –

Trả lời

0

Trước tiên, bạn tạo nhãn không có văn bản (hoặc chế độ xem) sao cho nó hoàn toàn lấp đầy ô. Sau đó, tạo nhãn mới với văn bản của bạn và thêm nhãn này dưới dạng chế độ xem con của chế độ xem đầu tiên.

+0

Không hoạt động, thật không may, nó vẫn bị bỏ qua khi tôi thực hiện chế độ xem đầu tiên có '[UIColor clearColor]' cho 'backgroundColor' –

Các vấn đề liên quan