답변

14

Interface Builder를 사용하거나 코드에서만 사용 하시겠습니까?

IB 작업을 사용하면 제목이있는 탐색 모음에 분할 된 컨트롤 만 드래그하면됩니다. 제목은 분할 된 컨트롤로 대체됩니다.

코드에서이를 수행하려면 this section of iPhone reference library을 참조하십시오. UIView의 하위 클래스 인 세그먼트 화 된 컨트롤에 내비게이션 항목의 titleView 속성을 설정해야하므로 완벽하게 유효합니다. viewDidLoad에서

+1

당신이 링크를 업데이 트 안될까요? thx – xon1c

+0

@ xon1c : 확인 완료 – madej

1

:

OBJ-C :

NSArray *segmentTitles = @[ 
    @"segment1", 
    @"segment2", 
]; 

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTitles]; 
segmentedControl.selectedSegmentIndex = 0; 
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
// change the width from 400.0 to something you want if it's needed 
segmentedControl.frame = CGRectMake(0, 0, 400.0f, 30.0f); 
[segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged]; 

self.navigationItem.titleView = segmentedControl; 

SWIFT :이 오래된 것 같은

let segmentTitles = [ 
    "segment1", 
    "segment2", 
] 

let segmentedControl = UISegmentedControl(items: segmentTitles) 
segmentedControl.selectedSegmentIndex = 0 
segmentedControl.autoresizingMask = UIViewAutoresizing.FlexibleWidth 
// change the width from 400.0 to something you want if it's needed 
segmentedControl.frame = CGRectMake(0, 0, 400.0, 30.0) 
segmentedControl.addTarget(self, action: "segmentChanged:", forControlEvents: UIControlEvents.ValueChanged) 

self.navigationItem.titleView = segmentedControl 
관련 문제