Tôi đã đặt UIButton bên trong UIView tùy chỉnh và nút không nhận được bất kỳ sự kiện chạm nào (nó không vào trạng thái được đánh dấu, vì vậy sự cố của tôi là không về việc không thể kết nối một bộ xử lý bên trong lên trên). Tôi đã thử cả hai đặt nó vào XIB trong giao diện Builder, và cũng đã cố gắng lập trình thêm UIButton vào UIView một cách riêng biệt, cả hai đã kết thúc mà không có may mắn. Tất cả các khung nhìn của tôi đều nằm trong UIScrollView, vì vậy trước tiên tôi có thể chặn UIScrollView, vì vậy tôi cũng đã thêm một nút lập trình chính xác giống như cách tôi thêm chế độ xem tùy chỉnh vào UIScrollView, và nút hoạt động, loại bỏ khả năng UIScrollView có thể là nguyên nhân. Xem tôi hiearchy là như thế này:UIButton bên trong UIView không phản hồi các sự kiện chạm
Nút là qua xem hình ảnh, và lớp trước không chiếm nút của tôi hoàn toàn, vì vậy không có lý do đối với tôi không được thể chất tương tác với các nút. Ở bên cạnh xem mã tùy chỉnh của tôi, tôi là tạo ra quan điểm của tôi như vậy:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
UIView *sub = [[[NSBundle mainBundle] loadNibNamed:@"ProfileView" owner:self options:nil] objectAtIndex:0];
[self addSubview:sub];
[sub setUserInteractionEnabled:YES];
[self setUserInteractionEnabled:YES];
CALayer *layer = sub.layer;
layer.masksToBounds = YES;
layer.borderWidth = 5.0;
layer.borderColor = [UIColor whiteColor].CGColor;
layer.cornerRadius = 30.0;
/*layer.shadowOffset = CGSizeZero;
layer.shadowRadius = 20.0;
layer.shadowColor = [[UIColor blackColor] CGColor];
layer.shadowOpacity = 0.8;
*/
}
return self;
}
Tôi đã thử tất cả các kết hợp của setUserInteractionsEnabled
, và không có may mắn. (Có, cũng đặt chúng để kiểm tra trong giao diện Builder quá). Tôi cũng đã đọc trong một câu hỏi khác với một vấn đề tương tự mà tôi nên cố gắng ghi đè 'canBecomeFirstResponder' để trả về 'CÓ' và tôi cũng đã làm điều đó. Nhưng vấn đề vẫn còn, tôi không thể nhấp vào nút. Tôi đã không đưa ra bất kỳ thuộc tính đặc biệt, cài đặt cho nút, nó chỉ là một thường xuyên. Các đối tượng khác của tôi trong chế độ xem (nhãn bên dưới, chế độ xem hình ảnh phía sau nút, v.v.) đang hoạt động bình thường mà không có sự cố. Điều gì có thể sai ở đây?
Xin cảm ơn,
Có thể.
CẬP NHẬT: Đây là sự sao chép nhanh chóng của sự cố: https://dl.dropbox.com/u/79632924/Test.zip Cố gắng chạy và nhấp vào nút.
bạn có thể trích xuất chế độ xem này thành dự án thử nghiệm nhỏ không? –
Câu hỏi ngu ngốc: Bạn có nhớ liên kết nút đó với IBAction không? –
@HotLicks có, chúng được liên kết. nhưng vấn đề không phải là về xử lý sự kiện không kích hoạt khi chạm vào, vấn đề là nút không nhận được (hoặc, ít nhất, phản ứng lại) sự kiện liên lạc ở tất cả. –