问题标签 [modalviewcontroller]

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 回答
2909 浏览

iphone - viewDidAppear:在启动期间出现的模态视图控制器上调用两次

解决方案:在尝试在新项目中重新创建此错误以提交给 Apple 时,我发现它特定于 iPhone OS 2.1,并且为 2.2 编译修复了该问题。斯蒂芬,感谢您的帮助;我会接受你的回答,因为如果错误仍然存​​在或者我不愿意为 2.2 编译它会起作用。


我有一个应用程序从根本上改变了它的数据库模式,这种方式需要我将旧式记录转换为代码中的新式记录。由于用户可能会在此应用程序中存储大量数据,因此我尝试显示带有进度条的模态视图控制器,同时将数据移植过来(即,作为用户看到的第一件事)。这个视图控制器viewDidAppear:开始一个数据库事务,然后启动一个后台线程来进行实际的移植,偶尔performSelectorInMainThread:withObject:waitUntilDone:用来告诉前台线程更新进度条。

问题是,viewDidAppear:被调用了两次。我注意到这一点是因为“启动事务”步骤失败并显示“数据库繁忙”消息,但设置断点表明它确实被调用了两次——一次是-[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:],一次是-[UIViewController modalPresentTransitionDidComplete]。这些名称似乎是私有 UIViewController 方法,所以我猜这要么是一个框架错误,要么我正在做一些 UIKit 不希望我做的事情。

两个相关的代码摘录(一些不相关的代码已经总结):

从我的 DatabaseController 类:

那么,我在这里搞砸了什么,还是应该向 Apple 提交错误报告?

0 投票
5 回答
28419 浏览

iphone - iPhone 模态视图比屏幕小

我正在尝试做一些不应该那么复杂的事情,但我无法弄清楚。我有一个 UIViewController 显示一个 UITableView。我想在用户按下一行时显示一个上下文菜单。我希望这是一个带有标签和按钮的半透明视图。我可以使用 AlertView,但我想完全控制标签和按钮的格式,并希望使用 Interface Builder。

因此,我创建了 250x290 的小视图,将 alpha 设置为 0.75,并创建了一个带有插座的视图控制器来处理不同的用户事件。

现在我想介绍它。如果我使用 presentModalViewController 会发生两种(不希望的)事情 1)视图覆盖了所有屏幕(但状态栏除外)。2)它是半透明的,但我在它“后面”看到的不是父视图,而是应用程序根视图。

我尝试将它添加为子视图,但没有任何反应,所以我没有做正确的事情:

有可能做我想做的事吗?提前致谢。

贡索

0 投票
1 回答
1217 浏览

uitableview - 当我按下 tableviewCell 内的信息按钮时添加模式视图控制器

这是一个复杂的问题,也许并不难,但我有很多疑问。首先让我给你我所拥有的。这是我得到好的答案的唯一地方。

我有一个带有自定义单元格的表格视图控制器。在这些单元格中,我为每个单元格添加了一个按钮(来自 IB 的信息暗按钮)。我想要的是,当我按下该按钮时,它会显示一个新视图,其中包含有关该单元格的更多信息,这与我从 didSelectRowAtIndexPath 获得的视图不同。

我已经阅读了一些有关 Modal View Controller 的内容,我认为这是我应该使用它的情况。所以这是我的问题:

  1. 如何使视图控制器成为模态视图控制器?我读到我必须有一个代表。是否有一个如何创建普通模式视图控制器的示例。我一直没能这样做。

  2. 这个按钮怎么知道它来自哪个单元格?我所拥有的是一个带有 IBOUTLET 的子类 tableviewcell 到这个信息按钮。这不是一个重要的问题,因为我想我可以添加一个 NSIndexPath 属性。

  3. 我在调用 touchDown 事件时在我的 tableview 子类中添加了一个动作。我通过IB做了这个连接。我怎样才能通过这里调用模态视图控制器?它甚至是正确的地方吗?

谢谢

0 投票
1 回答
190 浏览

iphone - 在视图之间共享变量的问题 - 遗漏了什么?

我知道我错过了一些东西,但我的朋友和我可以弄清楚是什么。

首先..我有两个 .hs 和 .ms 我想在它们之间共享数据 - 两个视图控制器在第一个 .hi 有这个 - 这使得它们的变量和属性

然后在各自的 .m 中 - 合成它们

然后从新的 .h 和 .hi 需要访问它们..所以考虑到加载我这样做

并在顶部

现在 .h 向您展示所有变量是什么

所以。简而言之 - 我将变量设为属性,并合成它们,然后在视图中创建另一个 VC 的实例,然后尝试使用它们来做事

登出放

任何想法都会很棒...如果您需要更多代码/更少代码,请说..我尝试过其他博客,但他们都使用应用程序代表来做......而且我不喜欢全局变量。

干杯

山姆

0 投票
1 回答
316 浏览

iphone - 如何在两个控制器中使用相同的 modalViewController?

我在我的应用程序中使用Three20 TTMessageController。我已经弄清楚如何使用它,添加了一堆其他东西(包括TTMessageControllerDelegate方法和ABPeoplePickerNavigationControllerDelegate方法)。经过一番努力弄清楚后,它对我很有用。

我现在遇到的麻烦是一个设计问题:我想在两个不同的地方以相同的方式使用它,包括使用相同的委托方法。我目前的方法是将所有代码放入一个继承自的类中NSObject,称为ComposerProxy,我只是让使用它的两个控制器使用代理,如下所示:

go方法构造TTMessageController,配置它,将其添加到 a UINavigationController,并呈现它:

这很好用,因为我已经很好地封装了我的所有代码ComposerProxy,我只需要上面两行我想使用它的任何地方。

但是,不利的一面是我不能deallocproxy不崩溃的情况下使用变量。我也做不到autorelease:同样的问题。

所以我想知道我的代理方法是否很糟糕。通常如何在不需要在使用它的类中大量重复代码的情况下封装一堆这样的行为?我是否需要向我添加一个委托类ComposerProxy并让控制器负责以假设composerDidFinish方法或类似方法关闭模态视图控制器?

许多TIA!

0 投票
3 回答
975 浏览

objective-c - 关闭模态视图控制器时,所有主视图内容向上移动 20px

我在这两种情况下都使用presentModalViewController:dismissModalViewController:动画设置YES,效果很好。

然而,在模态视图被关闭后,主视图上的所有内容都向上移动了 20 像素。这会影响所有视图控制器。

知道为什么会发生这种情况,以及如何克服它吗?

0 投票
7 回答
5706 浏览

iphone - 显示连续模态视图的正确方法

我有两个视图需要模态显示,一个接一个。如果我们连续关闭并显示,这将不起作用,如下所示:

第二个模态视图根本不显示。

我见过一个类似这样的修复:

问题是这不会一直有效(有时所需的延迟会更好)。

另一个可能的解决方法是消除动画:

但我真的很想保留动画,以保持第一个模态不碍事的感觉。有什么建议么?

0 投票
4 回答
1308 浏览

iphone - iPhone:模态视图控制器内存泄漏

我正在展示一个 modalViewController。在我关闭模态视图控制器后:

..视图仍在记忆中。我如何解除它以使其使用内存?

谢谢。

0 投票
5 回答
14294 浏览

iphone - 如何从 MODAL 视图控制器中隐藏 iPad 键盘?

我试图从模态视图控制器中隐藏 iPad 键盘,但它不起作用。我已经尝试过 resignFirstResponder ,但是如果我们在模态视图控制器中,这不会有任何影响。我在具有相同 UIViewController 的非模态 UINavigationController 中尝试了 resignFirstResponder 并且键盘正确隐藏。

有谁知道如何解决这个问题?

谢谢。

[更新]看起来我的代码有问题,因为 resignFirstResponder 确实有效(我做了一个简单的测试用例而不是使用我的代码)。但我仍然不知道问题是什么。

0 投票
3 回答
12214 浏览

ipad - 在弹出窗口中呈现模态视图

我试图从弹出窗口中显示的视图控制器加载模式视图。模态视图加载,但问题是它转换到主视图而不是弹出框内。我错过了什么吗?我认为简单地从弹出窗口中的 vc 启动它会在同一个弹出窗口中呈现模态视图......

代码没有什么特别之处,如下所示: