Вставить UIViewController в UINavigationController из UIView? - PullRequest
1 голос
/ 08 июля 2009

Обычно моя обработка событий происходит в UIViewController, поэтому я использовал следующую строку кода: [self.navigationController pushViewController:viewController animated:YES];

Однако теперь мой обработчик событий находится в UIView. в частности, я использую - (void) touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event

Итак, изнутри моего прикосновения, закругленный делегат, как мне перенести UIViewController на UINavigationController из UIView, который является подвидом упомянутого UIViewController.

Ответы [ 2 ]

2 голосов
/ 09 июля 2009

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

@interface MyCustomView : UIView
{ 
    id delegate;
}

@property(nonatomic, assign) id delegate;

Затем в вашем контроллере View вы просто установите делегата представления следующим образом:

[myCustomView setDelegate:self];

Что позволит вам отправлять сообщения вашему делегату из вашего пользовательского представления

-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
{
    [delegate customMessage];
}
0 голосов
/ 09 июля 2009

Вам необходимо добавить ссылку на ваш UIViewController на ваш UIView. Затем в обработчике событий отправьте сообщение на UIViewController, которое подтолкнет другой контроллер. Вы также можете выполнить обработку в обработчике событий, но другой способ является более «правильным» в архитектуре MVC.

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