2012-04-02 40 views
14

Tôi đang cố gắng để tùy chỉnh nút của tôi bằng cách thay đổi màu sắc của họ, nhưng khi tôi sử dụng một trong hai:iOS - Thiết UIButton màu nền chỉ màu các góc

self.loginButton.layer.backgroundColor = [UIColor colorWithRed:0.0 green:157.0/255.0 blue:223.0/255.0 alpha:1.0].CGColor; 

hoặc

self.loginButton.backgroundColor = [UIColor colorWithRed:0.0 green:157.0/255.0 blue:223.0/255.0 alpha:1.0]; 

Tất cả tôi nhận được là kết quả này:

enter image description here

Điều tôi muốn làm là thay đổi màu trắng c olor màu xanh, bất kỳ ý tưởng những gì tôi đang làm sai?

Trả lời

17

Bạn đang sử dụng nút chỉnh hình tròn khá xấu xí và khá khó tùy chỉnh.

Bạn có thể tạo nút loại tùy chỉnh và sử dụng hình nền hoặc tạo nút loại tùy chỉnh và làm tròn các góc và tự đặt màu nền của lớp.

Nếu bạn muốn thực sự ưa thích, có một hướng dẫn đẹp here có thể cung cấp cho bạn các nút loại có kích thước bất kỳ bằng cách sử dụng lớp, không cần tệp hình ảnh.

+0

Cảm ơn bạn rất nhiều :) có bất kỳ cơ hội nào gần đây hơn không? Hay đây vẫn là cách nó phải được thực hiện? – 8vius

+0

Sẽ tốt hơn nếu có thêm thứ gì đó hiện tại, đó là lý do tại sao tôi hỏi, xin lỗi vì sự cố – 8vius

+0

Liên kết này vẫn là lời khuyên liên quan. Các nút dựng sẵn trong iOS khá kém khi bạn di chuyển ra khỏi các mục nút thanh hoặc trang tính hành động. – jrturton

2

Loại nút đó là gì? Nếu bạn muốn tùy chỉnh nút, bạn phải tạo nút có nút [UIButtonWithType: UIButtonTypeCustom]

+0

Có. Điều này rất quan trọng và dễ bỏ sót. Tôi không biết bao nhiêu lần tôi đã dành nửa giờ cố gắng để tìm ra lý do tại sao các nút của tôi không nhìn ngay trước khi cuối cùng nhận ra rằng tôi không có họ thiết lập để Custom. – Eagle11

-2

tôi phát hiện ra điều này gần như một cách tình cờ:

self.loginButton.tintColor = [UIColor redColor]; 

Chắc chắn hoạt động và đã có sẵn từ iOS 2.0.

+0

Bạn đã thử cái này chưa? Nó không hoạt động. –

+3

Màu tintColor chỉ đặt màu khi nhấn nút. – cat

+0

mèo đúng, chỉ khi nhấn nút. – helioz