2013-05-15 27 views
5

Tôi đang cố gắng tạo nút sẽ kích hoạt hành động khi chạm của người dùng được đưa vào bất kỳ đâu vào nút (cho dù họ chạm vào bên trong hay kéo từ bên ngoài vào bên trong nút). Về cơ bản, tôi cần phải tạo một cách để kích hoạt hành động bất cứ khi nào một ngón tay nằm bên trong nút.iOS UIButton Touch Kéo Enter không hoạt động như mong đợi?

"Chạm kéo vào" được kết hợp với "chạm vào bên trong" âm thanh như nó sẽ thực hiện công việc, nhưng dường như hoạt động khác với những gì tôi cần.

Ngoài ra, tôi thích nếu nó có thể được thực hiện trong kịch bản thay vì mã cứng (như touchesBegan/di chuyển), nhưng nếu không có cách nào khác là được.

Trả lời

0

Khi cài đặt kết nối trong IB Touch Down phải là thứ bạn đang tìm kiếm. Bất cứ khi nào ngón tay của người dùng chạm vào nút, hành động sẽ được gọi.

+2

Điều này không giải quyết được nhu cầu của OP đối với các hành động được kích hoạt khi chạm vào nút. –

3

Hoặc bạn sẽ phải ràng buộc tất cả các sự kiện từng cái một với phương pháp bạn dự định gọi trên nút bấm từ IB.

HOẶC

Bạn có thể thử đăng ký nút của bạn cho UIControlEventAllTouchEvents bên trong mã của bạn. Dưới đây là một ví dụ mà có thể hữu ích

[_btnRoundRect addTarget:self action:@selector(btnPressedAction) forControlEvents:UIControlEventAllTouchEvents]; 


- (void)btnPressedAction{ 
    NSLog(@"Bttn pressed"); 
} 
5

Touch drag enter sẽ chỉ được gọi là, khi u bắt đầu chạm vào bên trong kiểm soát và kéo nó ra ngoài giới hạn của sự kiểm soát và sau đó kéo nó trở lại bên trong kiểm soát, mà không rời khỏi chạm. Vì vậy, bạn cần phải phân lớp nút của bạn và đạt được các chức năng cần thiết.

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