2014-01-26 3 views
1

Я развиваю игру с robovm & libgdx на ios, как переопределить UIViewController.viewWillAppear?Как переопределить функцию UIViewController на ios?

(void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(keyboardWillShow:) 
               name:UIKeyboardWillShowNotification 
               object:nil]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(keyboardWillHide:) 
               name:UIKeyboardWillHideNotification 
               object:nil]; 
} 

ответ

1

Как правило, у вас есть два пути:

  • подкласс ваш ViewController и переопределяют - (Недействительными) viewWillAppear: (BOOL) анимированные

  • выполнить метод swizzling в категории для UIViewController (см например Method Swizzle on iPhone device)

+0

спасибо всем, но я развиваю игру с Java на Robovm. –

3

Вы c переопределите свой метод, предоставив метод с тем же именем, что и ваш родительский класс: этот новый метод заменит унаследованное определение. Убедитесь, что ваш метод имеет один и тот же тип возвращаемого значения и принимает тот же номер и тип параметров, что и метод, который вы переопределяете.

Так что просто переопределите -(void)viewWillAppear:(BOOL)animated в вашем подклассе.

Подклассификация путем использования имущества не рекомендуется в соответствии с Apple Doc.

Смежные вопросы