gpt4 book ai didi

c# - 如何禁止在 uipopovercontroller 后面的 View 上进行交互

转载 作者:行者123 更新时间:2023-11-28 20:12:44 24 4
gpt4 key购买 nike

我有一个正在使用的 UIPopoverController,我有两个按钮,每个按钮在单击时都会显示一个弹出窗口。但是,我不希望同时显示弹出窗口 - 这意味着我不希望用户能够按下一个按钮,而在显示弹出窗口时能够按下另一个按钮。似乎我已经尝试了一切 - 禁用按钮上的用户交互,将 View 隐藏在弹出窗口后面,对弹出窗口使用 passthrough View 等等。一个都不管用!禁用用户交互似乎在大多数情况下都有效,但随后停止禁止用户与按钮交互并导致应用程序崩溃...

popupView.PassthroughViews = new UIView[]{this.View.Superview, this.View, this.Gray}; //gray is another view that sits under the view that calls the popup
this.View.UserInteractionEnabled = false;
this.PositiveMeterBtn.UserInteractionEnabled = false;
this.View.Hidden = true;

我的 UIPopoverController 是在类级别声明的,我什至做了这样的代码:

if(popupView != null)
return;

我仍然收到多个弹出窗口。我正在使用 mono touch/xamarin - 这是 xamarin 的错误还是 ios 问题?我的处理方式是否正确?

最佳答案

我以前没有使用过 Xamarin,但在原生 Objective-C 中对我有用的是

[controller setModalInPopover:YES];

其中 controller 是弹出窗口中显示的 View Controller 。

来自 UIViewController 类引用:

@property(nonatomic, readwrite, getter=isModalInPopover) BOOL modalInPopover

此属性的默认值为 NO。将其设置为 YES 会导致拥有的弹出 Controller 在显示时禁止在该 View Controller 之外进行交互。

关于c# - 如何禁止在 uipopovercontroller 后面的 View 上进行交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com