Vì vậy, tôi gặp sự cố với các nút và hoạt ảnh. Về cơ bản, tôi đang tạo hoạt ảnh cho chế độ xem bằng cách sử dụng hoạt ảnh UIView trong khi cũng cố gắng nghe các nút nhấn trên nút bên trong chế độ xem. Chế độ xem chỉ lớn bằng nút và chế độ xem thực sự là lớp con của UIImageView có hình ảnh bên dưới nút. Chế độ xem là chế độ xem con của chế độ xem vùng chứa được đặt trong Trình tạo giao diện với bật tương tác người dùng và bật cắt. Tất cả hoạt ảnh và xử lý nút được thực hiện trong lớp con UIImageView này, trong khi thông báo startFloating
được gửi từ một lớp riêng biệt nếu cần.iPhone Hoạt ảnh UIView Tắt UIButton Subview
Nếu tôi không hoạt ảnh, thông báo buttonTapped:
được gửi chính xác, nhưng trong khi hoạt ảnh, nó sẽ không được gửi. Tôi cũng đã thử triển khai phương thức touchesEnded
và hành vi tương tự cũng xảy ra.
UIImageView lớp con init (Tôi đã vào nút điền với một màu để tôi có thể nhìn thấy khung được thiết lập đúng, mà nó):
- (id)initWithImage:(UIImage *)image {
self = [super initWithImage:image];
if (self != nil) {
// ...stuffs
UIButton *tapBtn = [UIButton buttonWithType:UIButtonTypeCustom];
tapBtn.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[tapBtn addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
tapBtn.backgroundColor = [UIColor cyanColor];
[self addSubview:tapBtn];
self.userInteractionEnabled = YES;
}
return self;
}
phương pháp
Animation bắt đầu các hình ảnh động (nếu tôi không gọi nút này các tác phẩm một cách chính xác):
- (void)startFloating {
[UIView beginAnimations:@"floating" context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:10.0f];
self.frame = CGRectMake(self.frame.origin.x, -self.frame.size.height, self.frame.size.width, self.frame.size.height);
[UIView commitAnimations];
}
Vì vậy, để được rõ ràng:
- Sử dụng hình ảnh động UIView có hiệu quả vô hiệu hóa nút.
- Tắt hoạt ảnh khiến nút hoạt động.
- Nút được định kích thước chính xác và định vị trên màn hình và di chuyển cùng với chế độ xem chính xác.
Hmm sau khi làm một số thử nghiệm Tôi tin rằng bạn là chính xác. Điều này có vẻ khá janky mặc dù, chống lại sự mong đợi cho hình ảnh động. Khi bạn nói "làm cho hình ảnh động của mình" bạn đang đề cập đến một hình ảnh động phong cách NSTimer? Ngoài ra tôi giả sử thực hiện gia đình phương pháp chạm sẽ thể hiện hành vi tương tự? – bensnider
Vì vậy, có sử dụng một hình ảnh động NSTimer tôi có thể sử dụng nút theo cách này. Cảm ơn. – bensnider
Bạn cũng có thể tự theo dõi cảm ứng và không dựa vào nút nào cả. Nó vẫn sẽ yêu cầu một số hoạt ảnh thủ công, nhưng có thể cung cấp cho bạn kết quả tốt hơn cho tương tác. – axiixc