问题标签 [uistoryboard]

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

objective-c - 从 AppDelegate.m 中的 applicationDidEnterBackground 中去掉键盘

我的MainViewController.m文件中有一个带有文本字段的应用程序。该文件中还有一个滚动视图,因此当键盘出现时,视图会滚动,以便用户可以看到文本字段。当用户点击屏幕时,键盘将被关闭。除了用户点击主页按钮将应用程序置于后台然后返回的情况外,一切都运行良好。在这种情况下,键盘仍然是向上的,但我的滚动视图向下,文本字段被隐藏。理想情况下,我也希望键盘也被解雇。

经过调查,被调用的方法都在AppDelegate.m文件中(不幸的是它没有进入 ViewDidLoad 或任何 View 生命周期方法)。如何从 AppDelegate.m 文件中的 applicationDidEnterBackground 关闭键盘?我是一个新手——我尝试在我的 MainViewController 文件中创建一个 +dismisskeyboard 函数并从 Appdelegate 调用它,但是我的 Textfields 都是实例变量,这不起作用。我还尝试在我的 AppDelegate 文件中创建一个文本字段,然后执行此操作 -

[_someField 成为FirstResponder];

[_someField resignFirstResponder];

但这也行不通...我不知道如何将情节提要上的任何内容链接到 someField 的AppDelegate属性。

任何人都可以提出解决这个问题的正确方法吗?

0 投票
2 回答
1540 浏览

uiwebview - 显示登录页面的 UIWebView 模式

在我的 AppDelegate.m 中,我使用以下代码来显示模态 UIWebView(登录页面)。

成功登录后,UIWebView 将消失,并显示故事板中的根控制器。我如何需要重写上面的代码?

0 投票
3 回答
1946 浏览

ios - 无法显示跨到另一个 tableview 的 Tableview 和自定义表格单元格

从一个表视图到另一个表视图(使用 Xcode 4.2 和 iOS 5)。

第一页.h

收藏夹控制器.h

收藏控制器.m

故事板表视图

这是我得到的错误

2012-02-08 22:28:37.719 测试 [4668:f803] 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“UITableView 数据源必须从 tableView:cellForRowAtIndexPath:返回一个单元格:”

0 投票
1 回答
240 浏览

ios - 带有 Storyboard IOS 的 Google OAuth2 库问题

我正面临尝试为 GTMOAuth2ViewControllerTouch 初始化WithScope 并尝试使用 PresentModalViewController 将其推出的问题。

我的项目启用了 StoryBoard。

当我尝试推送时,会出现 SIGBRT 错误。似乎 initWithScope 与 PresentModal 视图的融合效果不佳。

但是,我确实尝试过 init:nil bundle:nil 这实际上有效,但没有显示任何内容,因为参数不是由我提供给控制器的。

任何人都可以请建议。

0 投票
1 回答
3406 浏览

objective-c - NSFetchedResultsController 在情节提要中保留对已释放委托控制器的引用,导致崩溃

我有一个简单的 UIViewTable,通过故事板中的 UINavigationController push segue 实现了深入细节。有时会发生表视图控制器似乎被释放的情况,而我在详细视图中,因此我得到了著名的:

我解释得更好,我有一个 NSOperation 队列,它异步加载我的数据,并在完成后立即填充表。正确检索数据并填充表格。对于详细视图,我单击一个单元格并将 NSManagedObjectID 传递给 prepareForSegue 方法中的目标控制器。当我对详细视图进行更改时,非常随机地,获取的控制器松开了它的委托,或者看起来,作为控制器的委托本身被释放了。导致崩溃。

获取的结果控制器被声明为一个属性:

然后这就是从 viewDidLoad 开始的一切工作方式。

这段代码可以工作,而且大多数时候也可以在细节视图中工作,这被称为像这样的 segue:

并且目标控制器通过询问上下文正确获取实体ID并重建对象。然后,当我在细节视图控制器中时,我可以对实体进行更改,当我返回导航层次结构时,我会保存上下文。正是在这一点上,应用程序崩溃了,就在上下文保存时。不是那么频繁,而是时不时。因为获取的结果控制器识别更改并提交给已被释放的委托。

在这一点上我几乎没有疑问,我使用的是 iOS 5 和 ARC,所以编译器应该(几乎)完全控制 release 和 dealloc 方法。而且我还使用了一个带有简单导航层次结构的故事板,它应该保证整个以前的视图控制器链得到保留。

我还运行分析器进行内存泄漏/僵尸分析,但无法发现任何错误,相反我很高兴所有对象管理都很好。

在这一点上我没有太多猜测,所以请随时指出我可能忘记检查的东西,或者你在我的代码中看到的错误。

谢谢

0 投票
16 回答
151328 浏览

uitableview - 如何使用 Storyboard 实现自定义表格视图部分页眉和页脚

如果不使用情节提要,我们可以简单地将 aUIView拖到画布上,将其布局,然后将其设置在tableView:viewForHeaderInSectiontableView:viewForFooterInSection委托方法中。

我们如何使用无法将 UIView 拖到画布上的 StoryBoard 来实现这一点

0 投票
1 回答
7440 浏览

objective-c - 在类型的对象上找不到属性

这似乎很奇怪,因为我无法解决它并坚持下去。我正在使用情节提要在 tableview 和 detailview 之间导航。当我将单个(NewsRecord)对象从我的 tableview 类(TopStoriesViewController)传递到我的详细信息类(DetailNewsViewController)时,它工作正常。但是现在我需要在移动到详细信息类而不是单个(NewsRecord)对象时传递一个(NewsRecord)对象数组。但是,当我在我的详细信息类中创建一个 NSArray * 并尝试使用详细信息类的对象在 prepareForSegue 方法中的我的 tableview 类中访问它时,它会给出以下错误---在 'DetailNewsViewController * 类型的对象上找不到属性'项目' ' 在编译时。items 是一个 NSArray 对象,它从“条目”中获取其内容

我的问题是为什么我能够在 TopStoriesViewController 而不是项目中访问 DetailNewsViewController 的 getNewsDetails。

我的课程如下 - TopStoriesViewController.m

DetailNewsViewController.h

DetailNewsViewController.m

新闻记录.h

0 投票
3 回答
2107 浏览

ios - 带有 UIStoryboard 的 UISearchbar:segues 和自定义单元格无法正常工作

我正在使用情节提要并想为我的 UITableView 实现一个 UISearchbar。UISearchbarController 生成一个新的 UITableView,我使用以下策略:

第一个问题是处理自定义单元格。我必须在 cellForRowAtIndexPath 中实例化它们。通常,您会从 nib 文件中执行此操作。我如何从情节提要中做到这一点?dequeueReusableCellWithIdentifier 返回 nil。

第二个问题涉及从表视图到详细视图的转换。segue 在普通表视图中启动,而不是在搜索表视图中。由于 Storyboards 隐藏了所有内容,我不知道如何将 segues 分配给搜索表视图的单元格。

有人可以帮忙吗?谢谢!

0 投票
2 回答
886 浏览

iphone - 如何关闭在 Xcode 4 中动态加载的 UIViewController 对象的集合

我在解除 UIViewController 对象集合时遇到了一些麻烦。我不知道一次关闭所有加载的模式 UIViewController 对象的优雅方法。

我使用 Xcode 4 中的“故事板”,但我不使用 Segues 来映射屏幕。我使用动态代码,如下所示:

这一切都始于 MainViewController.m。我加载 [myMenuController] (菜单列表)。当用户从菜单中选择一个选项时,它会加载 [myTicketController]。在那里进行一些用户交互后,它会加载 [myNextController] 并且您会看到该模式。我动态加载了几个 UIViewControllers(这里没有 segues):

所以我到了应用程序的末尾并加载了更多的 UIViewControllers。假设我在加载 [myNextController] 之后再加载 4 或 5 个 UIViewController。

有没有一种通用的方法来卸载内存中的所有 UIViewControllers,然后简单地重新加载 [myMenuController]?

0 投票
2 回答
6116 浏览

ios - 修改静态 UITableView 单元格中的文本?

我正在使用在我的故事板文件中创建的“静态单元”表格视图。但是,我想在更改设置时更新其中一个单元格上的文本。

我正在推动一个更新设置的视图控制器。当单元格从堆栈中弹出时,我正在尝试使用回调来更改单元格的文本,但到那时,单元格显然已被回收或重用,因此旧对象不在屏幕上,不再在表格视图中使用。

有没有办法可以更新此文本并使其永久化(这样当单元格从屏幕上滚动并返回时,新值仍会出现)?