2011-12-22 36 views

Trả lời

55

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]]; 
8

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:

  1. http://osiris.laya.com/projects/rcswitch/
  2. http://www.alexcurylo.com/blog/2010/07/30/custom-uiswitch/
  3. 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]]; 
2

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

enter image description here

Tôi hy vọng điều này giúp đỡ!

35

Trong Xcode 5 và iOS 7 đó là bây giờ trong các thuộc tính thanh tra:

enter image description here

Thay đổi On Tint sẽ thay đổi màu sắc của nút khi nó được bật.

enter image description here

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.

+0

Perfect. cảm ơn bạn rất nhiều vì ảnh chụp màn hình !! – swiftBoy

7

Swift 3:

yourSwitch.onTintColor = .red 
8

Swift 3

giải pháp khả thi

var switcher = UISwitch() 
switcher.onTintColor = .green 
switcher.tintColor = .green 
Các vấn đề liên quan