问题标签 [pushviewcontroller]

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 投票
3 回答
1711 浏览

iphone - 未加载新视图 - 正在使用 pushViewController

我为此花了几个小时,并尝试了各种方法。我可以确认 didSelectRowAtIndexPath 确实正在运行,并且正在返回我正在寻找的特定对象。

没有做任何事情的部分是我试图显示 SensDetailViewClass 视图的部分。它运行代码,但是 SensDetailViewClass.m 中的 viewDidLoad 方法没有运行,视图也没有改变。

我想显示 SensDetailViewClass。我可以确认 .xib 文件的所有者是 SensDetailsViewClass。

请帮忙。这是代码。

更新:我通过使用这种机制让它工作:[self presentModalViewController:details animated:YES];

0 投票
1 回答
564 浏览

ios - 当 pushViewController: 被释放的指针没有被分配

我找不到问题!对此的任何帮助将不胜感激:我正在从 UITableView 推送一个新视图,其中包含一个带有 UIwebView 的视图以访问互联网。单击后退按钮时,我收到下一个错误: malloc: *对象 0x3d438 的错误:未分配被释放的指针。但是,当我评论最后一行时(释放 dvController 时)一切正常!!!

0 投票
2 回答
201 浏览

iphone - 为什么我无法将视图控制器推送到下一个视图控制器?

我正在使用objective-c中的套接字,所以我编写了一个函数,用于在我的条件成真时获取服务器的响应我想推送到下一个视图控制器,但它没有推送或呈现请帮助这里给出一些代码

这是我的功能

我的“goToWatchlist”方法是:

提前感谢

0 投票
1 回答
1223 浏览

iphone - 这个 pushViewController 语句如何在我正在做的教程中工作?

我正在编写“Beginning iPhone 4 Development”一书中的教程,在第 9 章中,他们有以下代码片段:

http://www.apress.com/downloadable/download/sample/sample_id/5/

最后的声明:

对我来说毫无意义,因为本质上您正在推动相同的现有控制器。但是,当我编译应用程序并运行时,一切正常。我的问题是这个应用程序如何让我进入下一个屏幕?

0 投票
1 回答
843 浏览

cocoa-touch - 在 pushViewController 之后没有调用 viewDidAppear

我正在编写一个应用程序,它从数据库中提取信息,显示在表格中,并允许用户通过从表格中选择一个项目来获取详细信息。每当表格更新时,列表中的值都是正确的,但表格显示旧信息(即,如果表格最初有 3 个项目,现在有 2 个,表格将显示原来的 3 个项目,但如果用户尝试点击第三项)。我的详细信息视图也出现了同样的问题。如果用户选择一个值,则该信息的视图会发生变化。如果他们向后导航并选择一个新值,则视图会更改,但会显示第一次选择的信息。我将这两个归因于视图出现时未调用 viewDidAppear。我正在使用导航控制器来加载视图,但它们仍然没有调用该方法。

这就是我显示我的 listView 的方式: UITableViewController

我的 detailsView (UIViewController) 以类似的方式显示。导航控制器位于 AppDelegate 中。主窗口加载:

mainWindow 和我的 ModalView 都成功调用了 viewDidAppear 方法。我完全不知道为什么其他两个不打电话给他们。在此先感谢您的帮助。

0 投票
1 回答
2467 浏览

objective-c - pushViewController 难以同时推送两个级别

我在一个视图控制器中有一个项目列表。我可以选择一个项目,然后推送一个详细视图控制器以显示所选项目的详细信息。然后我可以选择编辑按钮(从导航栏中)并按下编辑视图控制器以允许我编辑项目的详细信息。所有这些都有效,包括取消和撤消。

在第一个列表视图控制器中,我还有一个添加按钮(在导航栏中),我可以在其中添加新记录。(这是使用核心数据,但我认为这与我的问题无关。)我通过为项目创建空白记录开始测试,当出现详细视图控制器时,所有字段都是空白的。然后我可以选择编辑按钮并编辑详细信息,就像它是一个已经填充的记录一样。这也有效。

我一直在尝试做的是选择添加按钮并按下详细视图控制器,然后立即按下编辑视图控制器。我想这样做的原因是当我弹出编辑视图控制器时,将显示详细视图控制器。(然后我可以弹回列表视图控制器或再次推入编辑视图控制器。)

我遇到了麻烦。

我在列表视图控制器中尝试了两次推送,如下所示:

其中 clientInfoTVC.clientEditTVC 指向 eidt 视图控制器。当我尝试添加时,这会导致 SIGABRT 错误并停止。

然后,我尝试在选择添加时在详细视图控制器中设置标志属性值,然后在第一次推送之前,然后在详细视图控制器的 viewWillAppear 中进行第二次推送。这出错了。我尝试将第二次推送移动到详细视图控制器的 viewDidAppear,结果相同。

我迷路了。有人可以给我一些想法如何将一个视图控制器推送到第二个视图控制器,以便我可以维护导航堆栈并弹回中间视图控制器吗?


@ljkyser 找到了部分答案。但我还发现,简单地将视图压入堆栈并不能让它执行它的 init、viewWillAppear 和 viewDidLoad。我猜测由于所有这些都发生在主线程上,因此推送视图只是将该视图控制器排队到运行循环中。推送第二个视图控制器会从运行循环中删除第一个视图控制器,并将第二个视图控制器放入运行循环队列中。也许有人可以比我刚刚做的更准确地验证并描述它。

无论如何,要正确初始化编辑视图控制器,我必须向它传递一个指针,以便它可以找到它正在使用的托管对象。我最初从详细视图控制器中实例化了编辑视图控制器。因此,在我的原始代码中,我正在推送一个尚未实例化的视图控制器。为了安全起见,我从列表视图控制器中对其进行了实例化,然后确保在进行双推之前设置了所有托管对象指针,如下所示:

确认@ljkyser 给出的答案,我在保持第一个动画的同时尝试了这些更改:YES。有了这个,导航栏看起来正确,但视图的其余部分不同步。设置动画:NO 解决了这个问题。

0 投票
1 回答
620 浏览

iphone - 将 plist 从 UITableViewCell 推送到 UIView

我有一个通过键“Title”编译 UITableView 的 plist,plist 在下面。表格视图正确填充,我用这个推送一个视图控制器:

我如何在nextViewController上面保留一些关于选择表中哪个对象的信息?另外,如何在新nextViewController视图上显示每个子树键中包含的字符串?ViewDidLoad 应该是什么样的?

这是 nextViewController 的 ViewDidLoad 当前的样子(描述是 UILabel)。为什么选择“LA Place 1”行时不显示@“3001 Sunset”:

0 投票
1 回答
64 浏览

iphone - 推送时导航控制器泄漏

我在特定区域的以下代码中发现了泄漏,这意味着当我从其他方面推送我的视图时,我没有发现任何泄漏,但只有这个推送给了我 100% 的泄漏。

我会怎么做谢谢。

0 投票
1 回答
128 浏览

iphone - 弹出后强制推送到页面

我有一个屏幕,用户在其中创建登录名并按下保存按钮。在这一点上,我弹回到上一个屏幕,上面满是保存的登录信息……

但是,仅在这种情况下(一旦他们按下保存),我想自动将用户推送到另一个屏幕(有效地使用他们刚刚创建的登录名登录他们)。这是为了确保如果用户返回一个屏幕,他们会返回登录列表而不是“创建新登录”屏幕。

我的问题是如何在这种情况下强制推动这种情况?当用户刚刚成功登录回来时,我可以以某种方式让登录页面识别吗?

0 投票
7 回答
1138 浏览

iphone - 使用 pushViewController 进行内存管理

我对内存管理技术仍然不是很好,想知道是否有人可以向我解释这种奇怪的行为。考虑一下我一直在测试的这 3 段代码:

这记录:保留计数 = 1。这很好。

这记录:保留计数= 1。不应该是0吗?

此日志:保留计数 = 5。我不知道为什么它是 5?

任何人都可以对此有所了解吗?我担心每次创建新视图时都会占用内存。

谢谢!