2013-08-25 1 views
3

은 다음과 같습니다스토리 보드를 통해 UISegmentedControl 배경 이미지를 설정하는 방법은 무엇입니까? 아이폰 OS 응용 프로그램, 남성과 여성에 대한 내 현재 UISegmented 제어에

For Segment 0: 
:

enter image description here

지금 나는이의 배경 이미지를 변경하려면 segments.So 나는 다음과 같이 스토리 보드 변경

enter image description here

For Segment 1: 

enter image description here 0

After this changes,I got the result as below : 

enter image description here

왜 이러한 이미지는 서로 중첩된다? 특별한 이유가 있거나 세그먼트 크기가 이미지 크기에 맞습니까? 세그먼트의 크기에 영향을주지 않고 세그먼트의 배경 이미지를 설정하려면 어떻게합니까? (전체 이미지가 겹쳐지기보다는 세그먼트의 배경에 표시되어야합니다)?

도움이 될 것입니다.

+0

을 설정해야 그것에 대해 세그먼트 사이가 나타날 수 있습니다. 아마 당신은 자신의 UIView 하위 클래스를 만들어 유연성을 극대화 할 수 있습니다. – SEG

+0

@SEG :하지만 우리는 우리 자신의 UIView 하위 클래스를 사용할 때 분할 컨트롤의 기능을 사용할 수 없습니다. – Ponting

+0

그래, 다시 만들 필요가있어. 이미지와 문자열을 전달하는 설정 방법을 만듭니다. 그 방법으로 필요한 수의 UIButton을 추가하고 (해당 이미지 및/또는 문자열을 설정하십시오), 각 UIButton에 어떤 버튼이 눌려 졌는지 알 수 있도록 태그를 설정하십시오. 버튼의 터치 업 내부 처리기에서 대리자 메서드 또는 블록을 호출합니다. UISegmentedControl을 재현하는 것이 그리 어렵지는 않습니다 ... – SEG

답변

5

이와 같은 코드로 사용자 지정을 시도하십시오. 화상의 겹치는

[self.segmentedControl setDividerImage:[UIImage imageNamed:@"style_segmented_control_delimiter.png"] 
        forLeftSegmentState:UIControlStateSelected 
         rightSegmentState:UIControlStateNormal 
           barMetrics:UIBarMetricsDefault]; 

    [self.segmentedControl setDividerImage:[UIImage imageNamed:@"style_segmented_control_delimiter.png"] 
        forLeftSegmentState:UIControlStateNormal 
         rightSegmentState:UIControlStateNormal 
           barMetrics:UIBarMetricsDefault]; 

    [self.segmentedControl setBackgroundImage:[UIImage imageNamed:@"style_segmented_control_normal_mid.png"] 
            forState:UIControlStateNormal 
           barMetrics:UIBarMetricsDefault]; 

    [self.segmentedControl setBackgroundImage:[UIImage imageNamed:@"style_segmented_control_press_mid.png"] 
            forState:UIControlStateSelected 
           barMetrics:UIBarMetricsDefault]; 
0

주된 이유는 세그먼트 크기에 대한 화상 aacording의 크기이다.

  • 이미지 크기를 올바르게 설정하십시오. 예를 들어 두 개의 세그먼트가있는 경우 크기 이미지 (totoalWidthOfSeg/2)를 설정하십시오.
  • 약간의 차이는 우리가 devider 이미지 나 이미지를 사용하는 경우 UISegmentedControl 그냥 고통이었다 사용하여 찾을 또한
관련 문제