问题标签 [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 回答
387 浏览

ios - NSObject 用 nib 加载 UIView 但文件所有者是 UIViewController

我有一个自定义对象,它处理一些带有视图的操作。基本上,它使用 nib 文件初始化 UIView。但我希望我的视图控制器负责处理 IBAction。所以我将我的视图控制器设置为文件所有者并连接 IBActions。

在我的自定义对象中,我像这样加载 nib 文件:

我将我的 UIViewController(有点奇怪)的委托设置为所有者。所以我希望我的视图控制器能够处理 IBAction,但它没有。我的自定义对象试图响应该操作,当然应用程序由于未响应选择器而崩溃。我怎样才能做到这一点?

编辑:

视图控制器 视图控制器

自定义对象 自定义对象

笔尖文件 笔尖文件

0 投票
3 回答
3925 浏览

ios - 从 xib 加载 UITableViewCell (此类与键的键值编码不兼容)

我很好奇使用 xib 文件布局 UITableViewCell 内容的正确方法。当我尝试按照我在互联网上找到的所有步骤时,我总是得到

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<NSObject 0x10fe7d790> setValue:forUndefinedKey:]:此类与键 statusLabel 的键值编码不兼容。”

所以这里是相关的代码

在我的 UIViewController 我都试过了

或使用

除了我在标题中提到的例外,这两种方法都失败了。看来,owner:self 错误是因为 UIViewController 没有 IBOutlet 属性。使用 owner:nil 是因为它在内部使用 NSObject 当然也没有 IBOutlet 属性。

我发现的唯一解决方法如下。在我的单元格的 init 方法中,我将返回的视图/单元格添加到我的初始化单元格

例如

这看起来很做作(尽管我也可以将 xib 中的基本类型更改为 UIView 而不是 MyCell 或 UITableViewCell),这使它感觉不那么做作。

我看过很多帖子,人们遇到了这个特定的错误。这通常被解释为 xib 本身的接线问题,但是如果我删除 xib 中的所有连接,它加载正常,但是当我添加回 ui 元素和文件所有者之间的连接时,错误返回,所以我不要认为它与“清理”xib 有任何关系(即使查看 xib 的 XML 也没有列出错误的连接)。

有没有其他人对这个错误是如何产生的有任何想法?

0 投票
0 回答
153 浏览

ios - Objective-C 避免 UINib 缓存

我有一个问题。在我的应用程序中,我使用带有大量图像的 xib 文件,并且我注意到 UIViewController 或 UINib 类将 nib 文件的内容缓存在内存中。我不需要这种行为。我需要在 ViewController 解除分配后释放资源。我实际上可以添加一些代码来引起内存警告,但我不确定它不会导致拒绝。如果有人有任何想法,请给出建议。

0 投票
1 回答
112 浏览

ios - 数据来自网络时重用 UIViewController 的文件管理器

请帮忙!我正在尝试实现一个与 Web 服务器一起使用的文件管理器

        self.tableView.registerNib (UINib (nibName: MaterialCell, bundle: nil), forCellReuseIdentifier: MaterialCell)

我有相同的数据,所以我想再次使用 UIViewController 并在didSelectRowAtIndexPath这里写下这段代码

var viewController = FloderViewController () self.navigationController!.pushViewController`

问题是我从网络获取数据,当我尝试重新使用 UIViewController 时出现错误

致命错误:在展开可选值时意外发现 nil

在此处输入图像描述

我做错了什么,我该如何实施!谢谢你的帮助  

编辑:

这是我的代码

0 投票
1 回答
472 浏览

ios - 使用 UIDatePicker 加载 nib 和实例化视图需要大量时间

我有两个视图的简单 xib:带有日期选择器的容器视图和带有条形按钮的工具栏。我将它用作我的inputView输入字段( )。但是我遇到了性能问题:我注意到加载这个 xib 文件的 nib 并从 nib 实例化视图需要大约 500 毫秒(使用 Time Profiler 仪器工具计算)。因此,我没有将日期选择器添加到 xib,而是以编程方式创建它并使用 vuela!,实例化只需要大约 30 毫秒。代码示例非常简单:inputAccessoryView<UIKeyInput>

我的类别在哪里[UINib loadCachedForKey:],它的实现就像方法名称听起来一样简单,所以我认为在这里发布它是没用的。

我也有一个类似的 xib,但使用 UIPicker 并且它的实例化速度很快(约 70 毫秒)。以编程方式添加日期选择器确实对我有用,但问题是
我做错了什么还是正常行为

0 投票
0 回答
337 浏览

ios - 如何将文件的所有者设置为从 nib 加载的自定义 UITabelViewCell?

我有一个UITableViewCell从 xib 文件加载的自定义,并以视图控制器作为其所有者进行实例化:

一切正常,但File's Owner为空,因此我无法从实现内部访问我的视图控制器TableViewCell

为什么File's Owner没有设置属性?有没有办法将视图控制器连接到TableViewCell笔尖?

0 投票
1 回答
306 浏览

ios - 快速加载 nib 文件

尝试连续加载几百UINib个并且非常快(在不到 0.5 秒的时间内一个接一个地加载)。 UINib包含UIButton和相对较小的图像(每个笔尖不同)。

我试过这个:

和这个:

最后一个速度快了几毫秒,CPU 使用率分别为 92% 和 97%。

哪种方式可以更快地加载这些笔尖?还是有更好的方法来做到这一点?

谢谢

0 投票
2 回答
103 浏览

ios - TableViewCell 的 Nib 文件中的视图大小

我正在尝试获取UIImageViewnib 文件中的宽度以使其变为圆形,但我得到了错误的值

这是我的代码:

}

在表视图中:

0 投票
0 回答
2954 浏览

xcode - 无法将自身添加为子视图 - 将 xib 文件添加为子视图时

我试图将一个 xib 文件作为子视图放在我的主视图控制器中,我收到一条非常奇怪的错误消息;

当我有这个代码时:

我有这个错误信息:

但是当我有这个代码时:

或者只是这个:

它正在工作......那么,为什么第一个代码不起作用!?

编辑 :

当我试图放置两个子视图时:

它不再使用相同的错误消息:

0 投票
1 回答
304 浏览

ios - 来自笔尖的IOS loadingView

我有这个优化问题。我在 nib 中有一个由图片和标签组成的视图。这是我从笔尖加载它的方式:

每次加载都需要相当长的时间。我的 UI 在这些 customView 上相当繁重,我需要能够创建大约 50 个并将它们放置在不阻塞 mainThread 的情况下。使用带有框架的 init 创建它们需要 170 毫秒,而将它们作为子视图放置在我的 vc 中需要 350 多毫秒。在这种情况下,有什么建议可以减轻主线程的负载吗?也许程序化方法会比笔尖更好?