问题标签 [presentmodalviewcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
200 浏览

ios - iOS:UIViewController 没有被推送问题

我正在开发一个新应用程序,其中有一个带有一些 UIButtons 的“主”UIViewController,一旦用户单击按钮,应用程序就会导航到另一个 UIViewController。

由于某种原因,UIViewControllers 没有打开,当您单击按钮时没有任何反应。任何试图提供帮助的人都应该注意的几点

  • 我使用的代码和界面与我创建的另一个应用程序非常相似并且工作正常(我对代码进行了三次检查,在 UIViewControllers 导航的区域也是如此)
  • 我三次检查了 Interface Builder 项目及其与 IBOutlet 的连接(视图已连接到视图,文件所有者设置正确,等等...)
  • 我将 NSLogs 插入到未推送的 UIViewController 中,我可以看到正在调用 initWithNibName,但未调用 viewDidLoad。
  • 我正在使用基本简单的代码来创建和推送 UIViewController:alloc+initWithNibName,然后是 presentModalViewController 或 pushViewController(它们都不起作用),正如我所说,在另一个具有相同机制的应用程序中它工作正常。

我不知道在哪里看!也许我错误地取消了Interface Builder中的一些“启用”按钮或类似的东西。

有没有人遇到过类似的事情,或者可能对我应该去哪里有一些新的想法?

0 投票
3 回答
233 浏览

iphone - 我们是否总是需要解除我们提出的ModelViewController?

我已经编辑了整个问题

在以下情况下呈现 ModelView 控制器和关闭模态视图控制器有什么区别?

  1. 主页查看
  2. 表项选择视图
  3. 选择器视图

HomeView 中,我正在编写代码viewWillAppear以从 TableView 设置的 NSUserDefault 中获取值。下面是我的 viewDidLoad(初始值)和 viewWillAppear(当来自 tableview 的新值)的代码

TableItemSelection 视图 中,我从 HomeView 呈现此视图。现在我想根据 Table 的 didSelectRowAtIndex 方法在 HomeView 中设置 NSString 的值。我NSUserDefault用来设置值。通过完成按钮触摸,我正在展示 HomeView。(实际上我必须dismissModalViewController)但是当我使用dismiss时,我无法在HomeView的NSString中获取值。我从 PickerView 获取表的值。(我被指示这样做)。下面是我在完成按钮触摸时的表格视图代码

PickerView 中 ,我从 pickerview 中获取值,然后将其存储在 UserDefault 中。下面是我的pickerview代码

那么为什么我在关闭 ModelView 时无法获得 UserDefault 值。???每次呈现一个新视图都会产生一堆视图???

0 投票
1 回答
271 浏览

objective-c - 如何避免总是创建 UINavigationControllers?

在我的应用程序中,我有很多模态视图需要在导航控制器中呈现,所以我最终做了很多这样的事情:

理想情况下,我想简化这一点,以便 MyModalController 负责创建导航控制器。这种事情的任何最佳实践?我想我总是可以添加一个类似的方法+navigationControllerWithModalController,但我想听听其他人是如何做到的。

另外,我希望能够将委托附加到 MyModalController,这样我就可以将信息发送回当前视图控制器,这样我就知道何时关闭它。

0 投票
1 回答
1218 浏览

ios - iPad presentModalViewController 出现在错误的位置

首先,我觉得苹果真的不喜欢我们为横向视图优化应用程序。

在与我的应用程序苦苦挣扎 2 天后,我终于说服它始终且仅在横向模式下显示。我什至说服了我与 presentModalViewController 一起呈现的 UIViewController 也出现在横向中。到目前为止,一切都很好...

我使用 UIModalPresentationFormSheet 呈现的 UIViewController 的位置一直到右下角(ipad 处于横向位置)。我不能让它像它应该的那样移动到中心。有没有人知道为什么和或如何工作以及如何让它出现在正确的位置?

编辑:添加代码,按下按钮时从 UIViewController 调用此代码。

0 投票
1 回答
847 浏览

ios - 从 rootView 控制器的子视图控制器将 UIViewController 呈现为模态视图的问题

我有一个父视图控制器,它是 UIWindow 的 rootViewController。这个 UIViewController 有两个子视图(添加了视图控制器)。当我点击右侧子视图控制器中的按钮时,它应该打开一个模态视图。当我尝试通过从右侧视图使用 [self presentModalView:vc] 来执行此操作时,它会折叠整个 UI。因此我更改了代码,即我通过 AppDelegate 从 parentViewController 呈现模态视图。因为 appdelegate 有 parentView 的实例。当我喜欢这个模态视图时,它会毫无问题地出现。

我的问题,这是正确的方法吗?是否有任何关于呈现模态视图的明确程序/文档,做和不做?

我面临的另一个问题是,当我尝试在第一个模态视图上呈现另一个模态视图时,它不起作用。

请澄清一下。

编辑:添加代码示例来模拟问题。RootViewController 被添加到窗口中。RightViewController 是根视图控制器的子视图。当我单击右视图控制器上的按钮时,它会将模态视图控制器呈现为模态视图。这是问题所在。模态视图未正确出现。我希望这可以帮助你。

- 提前致谢。@durai

0 投票
3 回答
70 浏览

iphone - 重新呈现模态视图带来最后一个 VC 而不是第一个

我有一个导航控制器,它以模态方式呈现,堆栈中有 4 个视图。最终视图有一个完成按钮,用于关闭模态视图。然后当我再次呈现模态视图时,它会自动转到最后一个视图而不是第一个视图。我在关闭后添加了一条线以弹出到第一个视图,但无论我将其设置为是还是否,它都会添加一个奇怪的动画。也许我做错了?

更新:

这是用于呈现模态视图/导航控制器的方法

0 投票
1 回答
401 浏览

ios - 更改父视图控制器的界面方向

我在 iPad 上有一个 ViewController1,它使用 presentModalViewCotroller 呈现另一个 ViewController2 模式。

但是 ViewController2 的某些部分是半透明的。因此,当 ViewController 2 已经出现在屏幕上时,如果我将设备旋转 90 度,ViewController2 的界面方向会相应改变,但在背景中仍然可见的 Viewcontroller1 的方向不会改变。我希望 ViewController1 与 ViewController2 一起更改其界面方向。有什么建议么?

提前致谢

0 投票
1 回答
1161 浏览

ios - iOS ABPersonViewController

我有一个标签栏应用程序,在第一个标签中我有一些按钮和一个表格视图,其中填充了通讯簿中的联系信息。ABPersonViewController当点击单元格的附件按钮时,我正在尝试使用模式视图显示联系信息。我可以显示联系信息,但没有取消按钮来关闭模式视图。有人可以看看下面的代码,让我知道我缺少什么。

0 投票
2 回答
704 浏览

iphone - 可可触摸-dismissModalViewControllerAnimated:YES 不起作用

大家好,

可能这是一个相当简单的问题,但我是新手,无法解决。好的,问题来了:

  1. 我有主视图控制器,在这个控制器的 viewdidAppear 委托中,我[self presentModalViewController animated:YES];用来显示我的第二个视图。
  2. 在我的第二个视图控制器中的一种方法中,它为某个进程启动了第三个控制器。
  3. 在第三个控制器中的处理之后,它再次启动第二个控制器以调用第二个控制器中的方法。在这种方法中,我使用[self dismissModalViewControllerAnimated:YES];但第二个视图只是拒绝关闭。

希望我对我的情况足够清楚。请指教。提前致谢!

:)

0 投票
2 回答
1816 浏览

xcode - Xcode:为什么我使用 presentModalViewcontroller 会收到 SIGABRT 消息?

我想切换到另一个视图控制器。我的视图上有一个 UIButton,UIButton 通过使用以下代码有一个 UILongPressGestureRecognizer:

我用来切换 viewControllers 的操作是这样的:

}

问题是当我长按按钮时,我的应用程序崩溃并给我一个 SIGABRT 错误。奇怪的是,它只发生在我的 iPhone 上,而不是模拟器上。

我也尝试过使用

并遇到了同样的问题。据我所知,SIGABRT 意味着存在内存问题,我不明白,因为自动引用计数器已打开。

有想法该怎么解决这个吗?

提前致谢 :)