Как объяснено в этого вопроса , у меня есть контроллер представления, который должен заменить себя другим макетом в некоторых случаях, когда данные могут отсутствовать. Это похоже на работу:
if ([analysis length] == 0) {
hasReview = NO;
UnreviewedSPP* unreviewedSPPView = [[UnreviewedSPP alloc] init];
unreviewedSPPView.ProductName = self.productName;
unreviewedSPPView.SdcId = self.sdcId;
unreviewedSPPView.Delegate = self;
NSArray* newViews = [[NSBundle mainBundle] loadNibNamed:@"UnreviewedSPP" owner:unreviewedSPPView options:nil];
self.view = [newViews objectAtIndex:0];
return;
}
Однако, похоже, что я не могу выдвинуть новый контроллер представления из представления замены:
[priceButton handleControlEvent:UIControlEventTouchUpInside withBlock:^{
WebViewController* wv = [[[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil] autorelease];
wv.url = offerURL;
[Delegate performSelector:@selector(pushViewControllerFromSubview:) withObject:wv];
}];
priceButton - это объект пользовательской кнопки, который может выполнять блок как целевое действие.
Я пробовал несколько подходов: передача внешнего контроллера вида в качестве делегата и передача контроллера навигации внешнего контроллера вида в качестве свойства на внутреннем контроллере представления.
Кажется, ничего не работает. Есть ли лучшее решение?