Метод UISplitViewController toggleMasterVisible. Где определяется метод?

Я могу правильно вызвать метод toggleMasterVisible как действие кнопки, но я хочу расширить этот метод следующим образом.

(In Button action. It works)
.h 
@interface DetailViewController : UIViewController <UISplitViewControllerDelegate>
@end

.m
UIBarButtonItem *listBarButtonItem = [[UIBarButtonItem alloc] 
initWithImage:[UIImage imageNamed:@"list.png"] 
style:UIBarButtonItemStyleBordered 
target:self.splitViewController 
action:@selector(toggleMasterVisible:)];


(I want to expand the method)
.m
UIBarButtonItem *listBarButtonItem = [[UIBarButtonItem alloc] 
initWithImage:[UIImage imageNamed:@"list.png"] 
style:UIBarButtonItemStyleBordered 
target:self 
action:@selector(toggleMasterVisibleIfCondtionIsOK:)];

-(void)toggleMasterVisibleIfCondtionIsOK
{
     if(isConditionOK){
          [self.splitViewController toggleMasterVisible];
     }
}

Однако я получил сообщение об ошибке: «Нет видимого @interface для объявления« UISplitViewController »». Где определяется метод? Я не смог найти метод в ссылке(http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewController_class/Reference/Reference.html) и как я могу вызвать метод? Любая помощь будет оценена.


person zono    schedule 29.01.2013    source источник


Ответы (2)


Я получил его для работы с:

[self.splitViewController performSelector:@selector(toggleMasterVisible:)];
person Jimmypooza    schedule 04.04.2013
comment
Это первый разумный и реально работающий ответ на эту проблему. Спасибо большое. - person akofink; 26.04.2013
comment
У меня также это работало, когда я был с предыдущим Xcode, но теперь я обновился до ios 7, и он всегда говорит, что метод не распознан: действие:@селектор(toggleMasterVisible:)]; можете вы помочь мне? - person Japa; 21.10.2013
comment
Это частный API, проверка Xcode помечает его как таковой. - person Abizern; 15.01.2014

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

@interface UISplitViewController()
- (void)toggleMasterVisible:(id)sender;
@end
person malhal    schedule 14.12.2019