2013-10-01 1 views
0

지금은 코드가 Xcode 4와 호환되도록 유지하고 싶습니다. 따라서 제 nib 파일을 업그레이드하고 싶지 않습니다.nib 파일을 업그레이드하지 않고 iOS7 컨트롤을 사용하려면 어떻게해야합니까?

그러나 UICegmentedControl 컨트롤 색조 색을 변경하고 nib 파일을 업그레이드하지 않고 새 iOS7 버전의 컨트롤을 사용할 수는 없습니다.

내가 본 ... iOS6의 레이아웃을 유지합니다

[NSUserDefaults standardUserDefaults] setObject:@Yes [email protected]"UIUseLegacyUID"] 

는, 나는 미래 버전 또는이 도움이 될 여부가 확실하지 않다? 당신이 속성을 변경할 수 있습니다

enter image description here

을하지만 :

+0

//get the subviews of the segmentedcontrol NSArray *arri = [segmentedControl subviews]; //change the color of every subview(segment) you have [[arri objectAtIndex:0] setTintColor:[UIColor redColor]]; [[arri objectAtIndex:1] setTintColor:[UIColor greenColor]]; 
... http://stackoverflow.com/questions/12773400/segmented-control-tintcolor-in-ios-6 – Jules

+0

매혹적인. 이것은 나에게 버그처럼 보입니다. 이 문제에 관해 Apple에 버그 리포트를 제출해 주시겠습니까? –

+0

사과가 뷰를 통해 컨트롤을 표준화하려고한다는 것을 읽었습니다. 그러나 iOS6에서는 작동하지 않으므로이 수정은 원래 iOS5 용이었습니다. 그래서 저는 이것이 이것이 새로운 컨트롤에서 어떻게 작동해야 하는지를 바꿨을 것이라고 생각합니다. – Jules

답변

0

이 엑스 코드 5를 사용하면 기본적으로 엑스 코드 4, 아이폰 OS 6

의 속성을 사용하도록 XIB을 변경할 수 있습니다, 당신은 엑스 코드 4.6 및 iOS 6 :

enter image description here

+0

예,이 작업을 수행하는 방법을 알고 있지만 그렇게하면 세그먼트 화 된 컨트롤의 iOS7 버전에 액세스 할 수 없습니다. – Jules

0

이 같은 코드에서 색조 색상을 변경할 수 :

UISegmentedControl *segmentedControl = ...; 
// For backwards compatibility 
if ([segmentedControl respondsToSelector:@selector(tintColor)]) 
{ 
    segmentedControl.tintColor = [UIColor redColor]; 
} 
+0

예,하지만 업그레이드 된 nib 컨트롤을 사용하지 않으면 iOS7에서 작동하지 않습니다. – Jules

0

각 세그먼트마다 다른 세그먼트 이미지와 색상을 설정할 수 있습니다. 컬러를 들어 당신은 사용할 수 있습니다 :

내가 여기에 답을 발견했습니다
관련 문제