问题标签 [uinib]

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

ios - 在 UICollectionView 中从 XIB 加载多个单元格会导致第一次加载时滚动延迟

我有一个包含 7-8 个不同单元格的集合视图。单元在 XIB 文件中构建。然后在视图控制器中我使用:

一切都按预期工作,但存在一些性能问题。在第一个滚动集合视图中,随着单元格的出现明显滞后。在所有类型的单元格至少加载一次之后,一切都开始顺利滚动。细胞并不复杂。

:为什么你甚至为此使用 XIB,为什么不在情节提要中制作原型单元?
:在整个应用程序的不同集合视图中使用相同的单元格。这样我就可以在 xib 中对单元格应用一次更改。我想不出更简单的解决方案来做到这一点。

我很确定UINib在加载后会被缓存,这就是它停止滞后的原因。例如,我想知道是否有办法在启动屏幕上预加载这些 xib。这将需要一两秒钟,但会带来更流畅的体验。

0 投票
1 回答
496 浏览

ios - 自定义 UITableView 单元格 Nib 文件仅在选择单元格后显示?

当我加载我的应用程序时,会发生这种情况。由于某种原因,表格视图加载为空白。只有当我选择单元格并单击另一个单元格时,才会显示先前选择的单元格。但是对于第一个单元格,无论我在哪里/如何单击,我仍然看不到第一个单元格。

我不明白为什么会发生这种情况,因为我遵循了本教程。显然我做错了什么,如果有人能告诉我为什么会发生这种情况以及如何解决它,我将不胜感激。

在主情节提要中,我使用 atableViewController SummaryTableViewController和 custom UITableViewCell DayOfWeekTableViewCell。我有一个用于表格视图单元格的 nib 文件,名为DayofWeekSpendingTableViewCell.xib. 这是我所有文件及其文件名的列表。

这是我的SummaryTableViewController代码:

这是我的自定义单元格DayOfWeekTableViewCell代码:

在主情节提要中,我...

在笔尖文件DayofWeekSpendingTableViewCell.xib中,我...

0 投票
3 回答
3128 浏览

ios - 如何调整自定义 UITableViewCell nib 文件的大小以适合 tableView?

我的应用程序当前加载是这样的。如您所见,这不是理想的 b/c 单元格不会填满整个单元格。此外,如果您注意到每个单元格的最左侧,白色分隔线会在单元格末尾之前停止。

我正在使用 nib 文件DayofWeekSpendingTableViewCell.xib来自定义我的 tableview 单元格。

我有一个UITableViewController SummaryTableViewController加载 nib 文件的位置。在该方法tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)中,我尝试设置两个标签的框架,以便它们占据视图的宽度,但这无济于事,因为我的应用程序仍然像这样加载。

如果有人能告诉我如何制作自定义 UITableViewCell nib 文件以适应视图,我将不胜感激!

0 投票
2 回答
271 浏览

ios - 遍历电话号码,创建自定义视图并快速将电话号码传递给它

我无法在另一个控制器的 for 循环中以编程方式创建视图。父控制器是一个 tableviewcell,我正在循环访问 CNContact 对象中的一堆电话号码。对于联系人拥有的每个电话号码,我希望创建我的自定义视图并将其添加到 tableviewcell 并使其垂直堆叠。

到目前为止,我设法创建了视图并将其添加到 tableviewcell 但无法传递数据。这是我正在努力解决的从一个控制器到另一个控制器的数据传递。

这是我的代码:

ContactListTableViewCell.swift

Main.storyboard 中的 contactListTableViewCell 原型 在此处输入图像描述

ContactListTableViewTelephoneRow.swift

ContactListTableViewTelephoneRow.xib

在此处输入图像描述

任何帮助将非常感激。谢谢你。

0 投票
1 回答
285 浏览

ios - UINib (iOS):可以从一个 nib 文件实例化多个视图吗?

我注意到它UINib:instantiate(withOwner:options:)返回一个数组。这是否意味着一个 nib 文件可以包含多个视图?在我看到的每个示例中,只有一个视图,它是数组中的第一个对象。数组中的其他(可能)元素是什么?

我问是因为我试图了解整个机制是如何工作的,而不是因为我想以这种方式工作,所以欢迎任何理论背景信息。

谢谢!

编辑:如果我可以在 nib 文件中有多个视图,如何将第二个视图连接到 UIView 子类?只有一个File's Owner

0 投票
1 回答
563 浏览

ios - iOS 内存泄漏与 nib

在 UITableViewCell 中,我在 init 中添加了这个视图

这会造成泄漏 - let view = UINib(nibName: "CView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! CView// LEAK

0 投票
1 回答
199 浏览

ios - swift - 保存自定义静态 uitableviewcell 的重新排序

我有一些自定义表格视图单元格,它们都有不同的 unib 和不同的类,并且想要重新排序单元格并持久保护它们重新排序的位置。

我已经在 TablevViewController 中注册了每个单元格和 UINib

然后我将 UINibs 添加到我的 testArray 中:

moveRowAt: 函数按预期执行

在这一点上,我遇到了一些问题 1. 重新排序后,单元格被重新加载,因为我已将它们的索引路径固定为静态值,现在问题是如何防止它们自行重新排序和 2. 我怎样才能坚持这一点命令

我希望我能在这里找到帮助——我现在研究了很多网络,但没有什么能满足我的需求。希望我能找到解决方案或一些链接或代码片段。多谢!

0 投票
1 回答
46 浏览

ios - 持久化 UINib 数组

我有一个问题,我在那里找不到任何信息......问题是我有一个自定义 UINib 数组,在我将它们创建为 CustomTableViewCell 之后,它们每个都有自己的标准类。

在这个数组中,我存储了 3 个 UINib,它们是 TableViewCells,我想在拖放它们之后保持它们的重新排序。

我现在已经创建了一个全局数组,我的所有 ViewController 都可以访问它。

在 viewDidLoad 我尝试过这样的事情:

我现在在努力坚持他们在数组中的顺序。我已经尝试过 Realm、Core Data 和 UserDefaults,但我找不到任何解决方案。但我猜问题是他们对 UINibs 不满意

这些 Nib 每个都代表 UITableView 中的一个单元格,并且在用户能够按照自己喜欢的方式移动单元格之后,重新打开应用程序后顺序当然应该保持不变。因此,如果我做对了,我只需要保留 IndexPath 但我找不到任何有用的信息......

我希望我能在这里找到帮助 - 请不要说我刚刚开始 Swift 和 iOS 开发,也许我尝试的东西根本不可能 - 也许你有一个快速提示,一些教程,片段,书籍或一些想法或任何东西方向。我愿意学习,也许我只是解释错误的东西会很棒!多谢!

0 投票
3 回答
72 浏览

ios - 使用 Alamofire 调用数据并在 Viewcontroller 上传入 customcell。错误:在展开可选值时意外发现 nil

崩溃的图像 当我通过 Alamofire 检索数据时遇到问题。在这里,我定义了一个函数,其中数据通过完成传递给视图控制器。

使用以下代码,我在 ViewController 中获取数据。

这是我的 TableView:这个 Cell 是一个 Customcell。我已经在我的 viewDidLoad 上注册了所有 Customcell (UINIBS)

但是如果我现在启动应用程序并选择一个单元格,程序就会崩溃。我在这里做错了什么?

这是我的 HomeController 上的 didSelectRow 代码。我在这里传递了 getDetails 函数的 video_id:

0 投票
1 回答
105 浏览

ios - 在 UITableView 中的 UINib 中重新加载 UITableView

标题听起来有点令人困惑。

我有一个UITableView我实例化 a 的地方UINib,其中包含一个UITableView. 这个 TableView 可以称之为“DetailTableView”,显示一些可以添加到另一个 ViewController 中的信息 - 到目前为止一切都很好。

我想要实现的是,这个“DetailTableView”在我添加一个新条目后会自动更新。

该条目保存在本地领域数据库中,并且已经正确显示,但“DetailTableView”仅在我强制关闭并重新打开应用程序时更新。

我已经尝试重新加载UINib并触发一个tableview.reloadData()带有通知的通知,viewWillAppear()但我无法让那个东西工作。我也尝试过开火instatiate:WithOwnerawakeFromNib()但效果不佳。

我在网上搜索了很多,也在这里,但找不到任何答案,希望你们能帮助我。多谢!