2010-11-08 18 views
5

Tôi có một nút mũi tên mà tôi muốn giữ nhỏ nhưng tôi muốn vùng cảm ứng xung quanh nó to hơn.Làm cách nào để mở rộng vùng cảm ứng của nút?

Tôi đã sử dụng câu trả lời từ bài đăng Here nhưng nó làm cho nút của tôi lớn hơn.

Vấn đề là hình ảnh của nút lớn hơn kích thước được trình bày. Nhưng tôi nghĩ rằng phải có cách để làm điều đó mà không cần chỉnh sửa hoặc thêm nút trong suốt.

Trả lời

1

Bạn có thể thực hiện việc này bằng cách mở rộng lớp nút và ghi đè phương thức hitTest. Trong phiên bản của phương pháp này, bạn có thể mở rộng vùng được chọn để bao gồm vùng đệm và trả lại nút nếu chạm xảy ra bên trong vùng đó.

+0

Cảm ơn. Âm thanh như một giải pháp tốt, tôi có thể chỉ cần đặt các nút trong suốt ... dễ dàng hơn .. :) – AYBABTU

+0

Điều này không hiệu quả. Nút sẽ đánh dấu vv nhưng mục tiêu/bộ chọn của nó không được gọi cho UIControlEventTouchUpInside. –

2

Sử dụng nút tùy chỉnh có hình ảnh có chế độ "center" (có nghĩa là nó không thay đổi kích thước với kích thước nút và luôn nằm ở giữa). Sau đó, bạn có thể làm cho nút lớn như bạn muốn và hình ảnh nút luôn luôn ở giữa với kích thước tương tự.

0

Nút trong suốt phía sau nút này cũng sẽ hoạt động và chỉ cần trỏ đến phương pháp ... Tôi cho rằng bạn có thể thực hiện theo nhiều cách này. Người ta nên chọn tùy chọn đơn giản nhất với chi phí thấp nhất.

+1

Nhưng bạn cũng phải xem xét Chi phí dự kiến. Việc tạo ra một lớp nút mở rộng từ UIButton cũng có thể giúp bạn trong tương lai, do đó chi phí thấp hơn. :) – AYBABTU

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