提问人:sejn 提问时间:4/28/2023 最后编辑:sejn 更新时间:5/11/2023 访问量:82
无法在 iOS 中使用 Objective C 的 UIPopoverPresentationController _passthroughViews 方法导航到控制器
Unable to navigate to a controller using the UIPopoverPresentationController _passthroughViews method in iOS using Objective C
问:
无法在 iOS 中使用 Objective C 的 UIPopoverPresentationController _passthroughViews 方法导航到控制器。
我正在尝试使用 UIPopoverPresentationController 的 passthroughView 导航到控制器视图。但是我无法设置此导航并出现错误,并且应用程序崩溃了。我该如何解决这个问题?
在这里,我还面临一个错误,弹出框中的最后一项显示为页脚或不可移动的标签,如果我单击它,则没有突出显示, 法典:
SelectorViewController* sv = [[SelectorViewController alloc] initWithStyle:UITableViewStylePlain];
sv.delegate = self;
sv.currentTopic = self.title;
NSLog(@" sv.currentTopic%@", sv.currentTopic);
sv.preferredContentSize = CGSizeMake(300, 500);
sv.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popoverpresentationController = sv.popoverPresentationController;
popoverpresentationController.delegate = self;
popoverpresentationController.sourceView = sender.view;
[self present view controller:sv animated: YES completion: nil];
popover.delegate = self;
if ([popover respondsToSelector:@selector(setBackgroundColor:)])
popover.backgroundColor = [UIColor whiteColor];
[sv release];
答:
0赞
Marcos Curvello
5/10/2023
#1
您似乎正在尝试从视图控制器显示弹出框并将 passthroughViews 设置为导航控制器的委托。的属性是视图数组。passthroughViews
UIPopoverPresentationController
正确的用法应该是:
// Assuming `view1` and `view2` are views that you want the user to interact with while the popover is visible
popoverpresentationController.passthroughViews = @[view1, view2];
如果要在弹出框显示时导航到另一个控制器,则可以在弹出框的委托方法 .popoverPresentationControllerDidDismissPopover
至于您无法与内容交互的问题,请确保弹出框足够大以完全显示表视图及其单元格。另外,检查 tableview 的 .preferredContentSize
contentSize
评论
0赞
sejn
5/12/2023
我有控制器,我认为两个值之一不同。因为它在弹出窗口中打开。因此,在单击标题时,它不会导航到应用程序
评论