- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用自定义 UIPopoverPresentationController 类显示弹出窗口。但它因错误而崩溃 (<UIPopoverPresentationController: 0x7a772950>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.
下面是我发生崩溃的按钮点击代码。
- (IBAction)showPopup:(UIButton *)sender {
ViewController *contentViewController = [[ViewController alloc] init];
contentViewController.preferredContentSize = CGSizeMake(200, 200);
contentViewController.modalPresentationStyle = UIModalPresentationPopover;
myPopoverController *popOver = [[myPopoverController alloc]initWithPresentedViewController:contentViewController presentingViewController:self andTintColor:[UIColor lightGrayColor]];
popOver.delegate = self;
popOver.permittedArrowDirections = UIPopoverArrowDirectionUp;
popOver.sourceRect = sender.frame;
popOver.sourceView = self.view;
[self presentViewController:contentViewController animated: YES completion: nil];
}
下面是我的自定义 UIPopoverPresentationController 的示例
myPopoverController.h file
@interface myPopoverController : UIPopoverPresentationController
@property (readonly) UIColor *tintColor;
-(instancetype)initWithPresentedViewController:(UIViewController *)presentedViewController presentingViewController:(UIViewController *)presentingViewController andTintColor:(UIColor *)aTintColor;
@end
myPopoverController.m file
//Some code for UIPopoverBackgroundView
-(instancetype)initWithPresentedViewController:(UIViewController *)presentedViewController presentingViewController:(UIViewController *)presentingViewController
{
self = [self initWithPresentedViewController:presentedViewController presentingViewController:presentingViewController andTintColor: [UIColor redColor]];
return self;
}
-(instancetype)initWithPresentedViewController:(UIViewController *)presentedViewController presentingViewController:(UIViewController *)presentingViewController andTintColor:(UIColor *)aTintColor
{
self = [super initWithPresentedViewController:presentedViewController presentingViewController:presentingViewController];
if (!self) {
return nil;
}
[super setPopoverBackgroundViewClass: [myPopoverControllerBackgroundView class]];
tintColor = aTintColor;
return self;
}
我没有条形按钮,但我正在设置 sourceView。我在这里做错了什么吗?感谢您的帮助
最佳答案
你也可以像这样创建一个 popover presentation controller,它可能会工作
- (IBAction)showPopup:(UIButton *)sender {
ViewController *contentViewController = [[ViewController alloc] init];
contentViewController.preferredContentSize = CGSizeMake(200, 200);
contentViewController.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popoverpresentationController = contentViewController.popoverPresentationController;
popoverpresentationController.delegate = self;
popoverpresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
popoverpresentationController.sourceRect = sender.bounds;
popoverpresentationController.sourceView = sender;
[self presentViewController:contentViewController animated: YES completion: nil];
}
关于objective-c - UIPopoverPresentationController 应该在 iOS 9 上呈现之前设置一个非零的 sourceView 或 barButtonItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42920340/
我尝试下载并编译https://developer.apple.com/library/content/samplecode/SourceView/Introduction/Intro.html 我有
在阅读 Tim Isted 所著的《Beginning Mac Programming》一书时,我试图理解 Apple 网站上的“SourceView”示例。 我想将设备和地点的图像放大一点。 通过更
我需要显示一些与源代码非常相似的东西,但它不应该可以修改它(但我仍然需要绘画注释等功能)。用例更像是 - 您单击某行,会发生一些事情,会显示一些注释等)。 所以我决定尝试使用eclipse应用平台,因
我是 gtk 编程和 d 的新手,并使用来自 gtkd 源的演示进行学习。当我尝试编译下面的代码时[我在 archlinux 上使用 dmd-2.060 和 gtkd-2.0]。 /* Mod
我想要做的是呈现一个弹出窗口,其中注释作为其源 View / anchor 通过使用委托(delegate)函数didSelectannotationView我应该能够实现这一点,但它似乎根本没有运行
我正在为 UIAlertController 设置属性,如下所示: alertController.modalPresentationStyle = .popover alertController.
如何使用 GTK3 在 GtkSourceView 中启用语法高亮显示?我的以下代码无法正常工作。 # HTML view self.scrolledwindow_html = builder.get
我正在寻找从 导航的快捷键代码隐藏 文件(a.cs)到 HTML Source-View 页面(a.aspx)? 我找不到任何直接可行的方法来处理这个问题! 最佳答案 F7 -> 在 .ASPX 和
我有一个 UIAlertController,我试图向它添加一个箭头并将 sourceView 更改为 self.button,以便它不会出现在底部。 这是我到目前为止得到的: let dropdow
对于 iPhone/iPad 应用程序,我具有在有人单击 UIBarButtonItem 时共享的功能。 UIActivityViewController * activityVC = [[UIAct
所以我正在使用 Eclipse,并尝试在独立的 SourceViewer 中启用 Java 错误突出显示。我已经在网上搜索了很多,但似乎没有任何结果。我已经研究过处理注释、标记等......出现的一切
我正在开发一个类似于 WhatsApp 的聊天应用程序。当用户长按消息时,会显示带有选项的弹出窗口。我想调暗背景中的所有内容,除了弹出框和弹出框的 sourceView 之外。像这样: 我尝试了这个,
我有一个包含 4 个段的 UISegmentedControl。其中一些片段会在用户选择时实例化 UIAlertController。 在 UIAlertController 上,您可以设置 popo
我在 View 中使用 sourceViewer,我定义了命令 org.eclipse.ui.edit.findReplace 并为该命令创建一个处理程序以调用 FindReplace 操作。 我还定
我想在用户单击 iPad 中的单元格时显示一个 popoverPresentationController。这是我的代码: override func tableView(tableView: UIT
我正在努力设置正确的绑定(bind),以使 SourceView (OutlineView) 在基于 View 的模式下与 TreeController 一起使用。它在基于单元的模式下可以正常工作。
我正在使用“SourceViewer”创建一个编辑器。下面给出的是我的“@PostConstruct”方法的代码片段。 // viewer is my SourceViewer instance
我有一个正在修改的 JFace SourceViewer,我想捕获用户按下其中的 ENTER 键时的情况,执行一些代码,然后取消进一步执行 ENTER 事件。换句话说,我不想在 SourceViewe
我遇到过大多数人在 iPad 上尝试呈现 UIActivityViewController 时遇到的情况;它崩溃了: Terminating app due to uncaught exception
我正在尝试使用自定义 UIPopoverPresentationController 类显示弹出窗口。但它因错误而崩溃 () should have a non-nil sourceView or b
我是一名优秀的程序员,十分优秀!