2012-01-16 35 views
5

Tôi có một phần tử cần phải hoạt động giống như UIButton nhưng có một số (3) nhãn văn bản có thể nhìn thấy cùng một lúc và nhiều UIImages trong cùng một hộp giới hạn. Nó thực sự là một cái nhìn với một loạt các UIViews và nhãn khác nhau mà cần phải nhìn và hành động như một nút nhưng với vị trí tùy chỉnh hơn của các yếu tố này hơn UIButton tiêu chuẩn.UIButton lớp con hoặc kế thừa từ UIControl?

Có tốt hơn khi kế thừa từ UIButton để thực hiện điều này hoặc UIControl một kế thừa không?

Khi phần tử được nhấn, tôi muốn bắt chước tất cả các hiệu ứng làm nổi bật (nếu đó là UILabel, hiển thị màu văn bản đánh dấu, v.v.).

Trả lời

2

Miễn là không quan trọng một phần nội dung nút của bạn được khai thác để kích hoạt chức năng của nó, bạn có thể soạn UIButton cùng với tất cả UILabel, UIImageViews bạn cần. Bạn có thể dễ dàng kế thừa từ UIView, đặt tất cả các bên trên vào bên trong và đặt UIButton trong suốt lên trên mọi thứ để có được các sự kiện bạn cần (đặt mình là đích cho nút đó và thực hiện một số đại biểu để thông báo về lựa chọn) .

+0

Tôi cần đảm bảo rằng các thành phần con đều hiển thị màu sắc chính xác khi sự kiện chạm đến. –

+0

Bạn có thể yêu cầu UIButton thông báo trên 'UIControlEventTouchDown' và' UIControlEventTouchUpInside' để biết khi nào bạn nên đánh dấu và xử lý nó thời gian. –

+6

Trên "đặt UIButton trong suốt của bạn" đây là một cách tiếp cận khủng khiếp bởi vì bây giờ bạn không có được khả năng truy cập ra khỏi hộp. Và có lẽ bạn thậm chí sẽ không cân nhắc việc sửa chữa điều đó. Đừng bao giờ che phủ các nút trên đầu trang của những thứ khác để có được hiệu ứng này. – Daniel

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