Làm cách nào để thay đổi màu mặc định (xanh lam) của UISwitch?Cách thay đổi màu mặc định UISwitch (màu xanh)
Trả lời
Tôi nghĩ rằng những gì bạn đang tìm kiếm là một cái gì đó như thế này
UISwitch *testSwitch; //just something I made up
[testSwitch setOnTintColor:[UIColor greenColor]];
Trước khi lên iOS 5, mà không cần viết riêng điều khiển tùy chỉnh UISwitch
của bạn, có lẽ sử dụng một UISegmentedControl
, Apple không cho phép bạn thay đổi màu sắc của một tiêu chuẩn UISwitch
.
Có một tài sản cá nhân setAlternateColor: YES
mà sẽ thay đổi màu sắc sang màu cam, và bạn sẽ cần phải tạo ra một chủng loại cho lớp UISwitch
, nhưng điều này sẽ không được chấp nhận trong quá trình xem xét Apple.
Dưới đây là UISwitch
dự án để sử dụng trong iOS 3.0 một vài tùy chỉnh - 4.1:
- http://osiris.laya.com/projects/rcswitch/
- http://www.alexcurylo.com/blog/2010/07/30/custom-uiswitch/
- StackOverflow Anser: https://stackoverflow.com/a/5088099/171206 (sử dụng
UISegmentedControl
)
Được giới thiệu vào iOS 5, số UISwitch
hiện có thuộc tính onTintColor
.
[mySwitch setOnTintColor: [UIColor blackColor]];
Cuối cùng, với iOS5 bạn có thể thay đổi màu của công tắc bằng thuộc tính trênTintColor.
UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
s.on = YES;
s.onTintColor = [UIColor redColor];
[self.view addSubview:s];
[s release];
sản xuất này
Tôi hy vọng điều này giúp đỡ!
Trong Xcode 5 và iOS 7 đó là bây giờ trong các thuộc tính thanh tra:
Thay đổi On Tint sẽ thay đổi màu sắc của nút khi nó được bật.
Tôi hy vọng đó là những gì bạn đang tìm kiếm! Mặc dù bạn đã đăng câu hỏi đó như ba năm trước.
Swift 3:
yourSwitch.onTintColor = .red
Swift 3
giải pháp khả thi
var switcher = UISwitch()
switcher.onTintColor = .green
switcher.tintColor = .green
Perfect. cảm ơn bạn rất nhiều vì ảnh chụp màn hình !! – swiftBoy