문제
나는 사용 중입니다 UISwitch
iOS 3에서 내 앱에서 스위치 요소를 만듭니다. 기본 색상이 파란색으로 설정되어 있지만 색상을 갈색으로 변경하고 싶습니다.
어떻게 다른 색상을 선택할 수 있습니까? UISwitch
iOS 3의 요소?
어떻게 다른 색상을 선택할 수 있습니까? UISwitch
최신 iOS 앱 (iOS 5+)의 요소?
해결책
최신 iOS XX 버전의 경우 최근에 관련성이 전혀 없으므로 답변을 건너 뜁니다. 아직도 여기에? iOS 3. 당신은 할 수 없습니다. 그러나 당신은 알다시피… 사람들은 계급 때문에 여기에 상륙하고 있으며 다른 버전과 물건을 포함하는 의견…
다섯 번째 iOS 릴리스는 이제 문서화 된 방법을 허용합니다. onTintColor
.
UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
s.on = YES;
s.onTintColor = [UIColor redColor];
[self.view addSubview:s];
[s release];
이것을 생산하십시오
편집하다: 나는 누군가가 왜 모든 답변과 동일하지 않은 상태에서만 질문으로 제한하기 위해 답을 롤백하는 이유를 모른다.
추가 편집 :iOS 3에서는 문서화되지 않은 기능을 사용해야했습니다. 그것에 대한 링크가 있었다 여기 그러나 그것은 파산했다. 그리고 당신이 그렇게했다면, 색상이 변경되어 앱이 거부 될 수 있습니다.
그것은 이것으로 시작하여 다른 곳에서 찾기에 충분해야합니다.
UISwitch *aSwitch = [[UISwitch alloc] initWithFrame:someRectangle];
[aSwitch setAlternateColors:YES];
//Do something with aSwitch
[aSwitch release];
나는 그것을 추천 할 수 없다. 그리고 그것은 인기가없는 것으로 밝혀졌습니다.
다른 팁
마지막으로 iOS 5를 사용하면 속성으로 스위치의 색상을 변경할 수 있습니다. onTintColor
.
UISwitch *s = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
s.on = YES;
s.onTintColor = [UIColor redColor];
[self.view addSubview:s];
[s release];
이것을 생성합니다 :
Swift 3의 모든 Uiswitch 요소에 대한 글로벌 변화의 경우 외관 프록시를 사용하십시오.
UISwitch.appearance().onTintColor = UIColor.brown
AppDelegate 아래 application:didFinishLaunchingWithOptions:
방법.
현재 UISWitch의 경우 ON/OFF 또는 0/1의 텍스트 값으로 제한됩니다. 색조를 사용하여 색상을 사용자 정의 할 수 있습니다. 추가 사용자 정의를 위해서는 완전히 사용자 정의 솔루션으로 위에 게시 된 것과 같은 것을 제안합니다.
전. [mySwitch setOnTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]];
원천: http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
편집 : iOS3의 경우 사용자 정의 구식으로 제한되므로 두 개의 버튼을 사용자 정의 이미지로 바꾸는 것이 좋습니다. 나중에 iOS 버전에서는 훨씬 더 많은 제어 및 내장 사용자 정의 옵션이 제공됩니다.
제어의 배경색을 변경할 수 있도록 제작 한 사용자 정의 Uiswitch 컨트롤을 살펴보십시오. 동일한 방법을 사용하여 텍스트, 글꼴 또는 텍스트 색상을 매우 쉽게 변경할 수 있습니다.
http://www.homick.com/posts/custom-uiswitch-control
이 코드는 GitHub에서 사용할 수 있으며 제어가 사용하는 세 가지 다른 PNG 파일을 빌드하는 데 사용되는 PSD가 포함되어 있습니다. PNG 파일을 원하는 형식으로 재현하기 위해 PSD의 내용을 수정할 수 있습니다. 그것들을 통제로 바꾸고 멀리갑니다.
이것은 주황색과 파란색보다 훨씬 더 많은 옵션을 제공합니다.
Swift 3의 경우 :
var mySwitch : UISwitch = ...
mySwitch.onTintColor = UIColor.blue