Получение didSelectRowAtIndexPath для перехода к UIStoryboard с именами "MainStoryboard" и "MaiinStoryboardiPad"
В настоящее время я застрял в проблеме, у меня есть Mainstoryboard.storyboard для iPhone, я также настроил MainStoryboardiPad для iPad, на котором все выглядит нормально, но когда я реализую код ниже с полнофункционального экрана ipad, я на экране Iphone в вверху слева iPad.
Может кто-нибудь помочь с этим, пожалуйста, или если вы знаете правильный способ заставить обе раскадровки работать?
Job *consignment = self.job[indexPath.section];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MsMenuController *controller = [storyboard instantiateViewControllerWithIdentifier:@"MsMenuController"];
controller.consignment = consignment;
[self.navigationController pushViewController:controller animated:YES];
Если я изменю storyboardWithName:@"MainStoryboard" на storyboardWithName@"MainStoryboardiPad", он будет работать нормально, но мне нужно иметь возможность работать на обоих устройствах.
1 ответ
Решение
NSString *storyboardName = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone
? @"MainStoryboard" : @"MainStoryboardiPad";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
Или вы, вероятно, можете сойти с рук с помощью self.storyboard
вместо.