当用户点击按钮时,我正在从集合视图单元格加载弹出窗口。我设法让popover工作,但我不知道如何加载我在故事板中设置的视图控制器。
这是给我一个popover的代码。如何从故事板加载视图控制器?
self.popoverContent = [[PopOverViewController alloc]initWithNibName:@"UpcomingCells" bundle:nil];
UIView *popoverView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 300)];
[popoverView setBackgroundColor:[UIColor colorWithRed:224/256.0 green:45/256.0 blue:117/256.0 alpha:1.0]];
self.popoverContent.view = popoverView;
self.popoverContent.contentSizeForViewInPopover = CGSizeMake(200, 300);
self.contactPopover =[[UIPopoverController alloc] initWithContentViewController:self.popoverContent];
[self.contactPopover presentPopoverFromRect:self.remindButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES ];
[self.contactPopover setDelegate:self];
答案 0 :(得分:2)
文档非常明确,你应该使用
-instantiateViewControllerWithIdentifier:
;
因此,假设您需要将viewController加载到self.popOverContent中,那么
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"nameOfStoryboard"
bundle:nil];
self.popoverContent = [storyBoard instantiateViewControllerWithIdentifier:@"nameOfViewController"];
只需将nameOfViewController和nameOfStoryboard替换为实际名称;)
编辑: 故事板名称只是stoyboard文件的名称,减去了扩展名。 所以对于“myStoryboard.storyboard”,你只需使用“myStoryboard”。 您还需要为viewController设置stoyboard-Identifier。它名为stryboard-id,右下方是您在view -troller中为viewController设置类名的地方。