UinavigationItem 사용자 정의 권리를 비활성화 하시겠습니까?
-
22-08-2019 - |
문제
다음과 같이 사용자 정의 오른쪽보기를 만듭니다.
// Build the Segmented Control
NSArray *segmentTextContent = [NSArray arrayWithObjects:[UIImage imageNamed:@"arrow-dice.png"], [UIImage imageNamed:@"arrow-up.png"], [UIImage imageNamed:@"arrow-down.png"], nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent];
// Customize the Segmented Control
segmentedControl.momentary = YES;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
[segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
그런 다음 다음과 같이 내비게이션 바에 추가합니다.
// Add the control to the navigation bar right item
UIBarButtonItem *segmentItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segmentItem;
self.navigationItem.rightBarButtonItem.title = @"";
[segmentItem release];
다음과 같이 숨길 수 있습니다.
self.navigationItem.rightBarButtonItem.customView.hidden = NO;
질문 ... 그러나 세그먼트 된 제어의 모든 (또는 더 나은 특정 요소)를 어떻게 비활성화 할 수 있습니까?
다음은 작동하지 않습니다.
self.navigationItem.rightBarButtonItem.enabled = NO;
모든 아이디어가 감사합니다 ...
감사,
매트
해결책
uisegmentedcontrol.h
- (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;
- (void)removeAllSegments;
- (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment; //default is YES
e.g. [segmentedControl setEnabled:NO forSegmentAtIndex:1];
도움이되기를 바랍니다
다른 팁
[navItem.rightBarButtonItem setEnabled:NO];
저것과 같이 쉬운 :)
참조: http://developer.apple.com/library/ios/#documentation/uikit/reference/uibaritem_class/reference/reference/html참조 활성화 재산.
제휴하지 않습니다 StackOverflow