Tôi có một UIView tùy chỉnh mà thực hiện giao thức UIKeyInput
và cóTuỳ chỉnh UIView và becomeFirstResponder
- (BOOL) canBecomeFirstResponder{
return YES;
}
được định nghĩa trong lớp con. Khi gọi:
[customView becomeFirstResponder];
NSLog(@"is first? %i",[customView isFirstResponder]);
trong một nút bấm, nó sẽ trả về false, mặc dùcanBecomeFirstResponder
được thiết lập đúng cách và tất cả các chức năng giao thức UIKeyInput
được thực hiện. Điều gì khác có thể ngăn chặn chế độ xem này trở thành người trả lời đầu tiên? Nó tồn tại bên trong một scrollView và một khung nhìn tùy chỉnh khác nếu điều đó có ích.
Cập nhật:
Tôi đã kiểm tra để xem những gì responder đầu tiên hiện nay là với:
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
và đáng ngạc nhiên là firstResponder
nil
. Vì vậy, không có gì có vẻ là hogging các sự kiện.
Có điều gì đó khác từ chối từ bỏ phản hồi đầu tiên ngay bây giờ không? Giống như một trường văn bản hoặc một cái gì đó với một đại biểu tùy chỉnh? –