Отключить UINavigationItem пользовательский вид справа? - PullRequest
2 голосов
/ 17 мая 2009

Я создаю собственный вид справа следующим образом:

// 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;

Любые идеи приветствуются ...

Спасибо
матовый

Ответы [ 2 ]

5 голосов
/ 17 мая 2009

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];

Надеюсь, что помогает

0 голосов
/ 05 ноября 2012
[navItem.rightBarButtonItem setEnabled:NO];

так просто:)

Ссылка: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBarItem_Class/Reference/Reference.html См. Свойство enabled .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...