2010-03-31 37 views
5

Tôi đang cố vẽ hình tròn được làm tròn bình thường UIButton, nhưng không có đường viền. Lý tưởng nhất là tôi muốn có thể thay đổi một số cài đặt trên UIButton để tắt đường viền.Tròn UIButton không có đường viền

Vấn đề của tôi là nếu tôi thay đổi loại nút thành "tùy chỉnh", tôi không có độ dốc lựa chọn màu xanh lam tốt (mà tôi muốn giữ) và tôi không biết cách vẽ theo cách thủ công.

Trả lời

2

Tôi đã sử dụng UISegmentedControl chỉ với một phân đoạn cho việc này. Bạn có thể sử dụng tintColor bạn có được một gradient đẹp. Các kết nối sự kiện hơi khác nhau nhưng không phải là một vấn đề lớn.

This answer cung cấp thêm chi tiết.

+0

Tôi đã kết thúc với điều này. Nó không cung cấp nền trắng chắc chắn, và điều khiển phân đoạn vẫn có đường viền, nhưng nó đủ gần với những gì tôi đang cố gắng làm. –

4

Thay đổi loại nút thành tùy chỉnh. Có một danh sách thả xuống bên dưới cho "Mặc định", "Được đánh dấu", "Đã chọn", v.v. Tạo một đường viền màu xanh lam, đặt làm hình ảnh cho "Cấu hình trạng thái được đánh dấu". Điều đó sẽ cung cấp cho bạn gradient màu xanh khi bạn làm nổi bật nó. Nếu bạn muốn nó khi nó được chọn, hãy sử dụng cấu hình "Đã chọn".

+0

Lý tưởng nhất là tôi muốn chỉ cần sử dụng hình dạng built-in gradient màu xanh và giữ tròn-rect. –

+0

không nghĩ rằng bạn có thể - nếu bạn muốn hình dạng rect tròn, hình dạng gradient một cách chính xác và hình ảnh tùy chỉnh của bạn như rect tròn. Thật không may, tôi nghĩ rằng bạn sẽ phải giả mạo nó thay vì sử dụng shininess táo. – saramah

+0

Bạn cũng có thể thử sử dụng thuộc tính 'button.layer.cornerRadius'. – Bill

0

Bạn có thể sử dụng loại tùy chỉnh UIButton. Và đặt hình ảnh thích hợp làm nền của UIButton.

+0

Vâng, tôi biết tôi có thể làm điều này (tôi nói như vậy trong câu hỏi). Câu hỏi của tôi là nếu tôi có thể xóa đường viền * mà không * làm cho nó thành nút tùy chỉnh. –

0

thử mã này,

button.layer.borderWidth = 3;  
button.layer.borderColor = [UIColor whiteColor].CGColor; 
Các vấn đề liên quan