问题标签 [loadnibnamed]

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 投票
0 回答
465 浏览

ios - 来自 NIB + 自动布局的自定义视图

我创建了一个 nib,我使用以下代码加载我的自定义视图:

但是当我启用自动布局时,我收到了这个错误:

我希望视图可以调整大小。我不想使用那些不可删除的自动布局大小约束。将它们的优先级设置为 1 不起作用。在superview中我显然没有任何约束,我希望这个视图是通用的。

我怎样才能做到这一点?

0 投票
1 回答
220 浏览

objective-c - 使用 loadNibNamed:owner:options: 指定初始化程序加载 nib

我在检查器中有一个 nib 文件,它的类 ( UIView) 分配给它,所以当我需要显示该视图时,我使用以下方法加载它: loadNibNamed:owner:options:

因此,如果我在加载笔尖时必须进行一些初始化,那么在像For the nib 的UIView类中知道这一点的方法是什么?initWithNibName:bundleUIViewController

我很感激任何帮助:)

0 投票
1 回答
290 浏览

ios - 加载 NIB 使状态栏变为全黑,并保持黑色

我的打开屏幕(我的主应用程序屏幕)是一个 UIView,一切都以编程方式完成。我想为我的“设置”屏幕使用 XIB,但在状态栏的顶部出现了一个奇怪的全黑条:

加载 NIB 后的屏幕

我切换到它如下:

我需要旋转它,但即使我注释掉 CGAffineTransformMakeRotation 我仍然会得到黑条。称为“状态栏”的 XIB 设置设置为“轻量内容”。

当我退出我的 XIB 屏幕时,我使用以下内容返回到我的原始视图:

但黑条仍然存在!奇怪的是,视图边界现在实际上也向下移动了状态栏的高度(这仅在打开我的 XIB 然后返回后才会发生)。对于试图帮助我的人来说,这可能是正在发生的事情的线索。谢谢大家

0 投票
2 回答
15898 浏览

ios - loadNibNamed 是如何工作的?UIView 插座未使用 loadNibNamed 进行初始化

我知道这很简单,但是在拉扯太多头发之后,我离解决方案还差得很远。

我已经看到了解释如何使用 XIB 和所有创建视图的教程。但他们都没有解决我在这里遇到的情况。

我有一个 XIB 文件,一个自定义 UIView 子类,标签和按钮很少。UIView 子类是可重用的,这就是我在任何单个 View 控制器中都不能有插座的原因。结果,我将此视图的各个控件(子视图)存储在我的自定义 UIView 本身中。这是合乎逻辑的,因为任何视图控制器都不应拥有此自定义视图的子视图,该自定义视图将包含在每个视图控制器中。

问题是,我不知道如何完全初始化整个 UI。

这是我的 UIView 子类代码:

稍后,我还计划将此相同的 XIB 文件也用于此 UIView 的横向,并且我计划在同一 XIB 中使用与横向控件相同的上述插座。

这是实现:

有用的东西:

我成功地从我的视图控制器调用initWithFrame:frame。这样,我可以看到所有控件都已正确初始化。但是,如果我已经绘制了 XIB,为什么还要提供框架呢?loadNibNamed 不应该处理框架设置和布局的东西,因为这是 XIB 的预期用途?

我也对 loadNibNamed 需要所有者对象的方式感到困惑。为什么我们已经需要一个对象来从 XIB 获取相同的对象?那也是半生不熟的吗?

请帮忙...

0 投票
1 回答
1120 浏览

ios - 使用 loadNibNamed 时,owner 是什么意思?

Apple Doc 说nib 文件中最重要的对象之一是 File's Owner 对象,但似乎是 nib 文件中的文件所有者,而不是LoadNibName方法设置的所有者。我想知道他们之间有什么区别?

这是一个例子:

我从 xib 定制了一个 alertView 并提供了一个像这样的静态类方法:

我有一种方法可以在视图中显示警报

在我的视图控制器中:

它在我的情况下效果很好,所以有必要设置所有者[[[NSBundle mainBundle] loadNibNamed: owner: options:吗?

0 投票
3 回答
1167 浏览

objective-c - 越狱设备 [UIDeviceRGBColor superview] 上 loadNibNamed 时可能崩溃:无法识别的选择器

我的代码如下所示:

但是,我从 Crashlytics 获得了一些针对 iPhone 5/5s 用户的崩溃报告,作为上述代码中的注释。

我很惊讶 5/5s 的高度不是 568,因为我的应用程序只支持纵向方向。我有数百个活跃用户,只有 4 个用户发生了 12 次崩溃。

即使 iPhone 5/5s 设备加载了错误的笔尖(对于 3.5 英寸屏幕),它也不应该导致崩溃。(我刚刚测试过。)

http://crashes.to/s/1ddc169b801

Crashlytics 还向我展示了 90% 的崩溃发生在越狱设备上,这让我想知道越狱设备是否可以以任何方式改变这个值?

崩溃报告链接显示了原因,但我不知道为什么,因为我在 nib 文件中只使用了内置的 UILabel、UIImageView、UITextView。

谁能给我一些建议以更好地检查以及是否在越狱设备上使用 4 英寸屏幕?第二个问题是导致 loadNibNamed 内部崩溃的原因是什么?

0 投票
0 回答
550 浏览

ios - loadNibNamed objectAtIndex 导致应用程序在多次迭代后变慢

我似乎无法弄清楚为什么某行代码会占用这么多内存。当应用程序第一次运行时,它运行得很快,但是在这行代码被触摸太多次之后,应用程序每次到达代码行时都会开始滞后。我需要手动释放一些东西吗?抱歉,我不是兽医程序员,也许这是一个很容易解决的问题,但我在论坛中找不到有关此问题的任何其他内容。

滞后的代码行是

完整的方法是:

0 投票
2 回答
112 浏览

ios - iOS 6 loadNibNamed 在 3.5 英寸手机中加载 iphone5 的 nib

我有一个 UIView 子类( PopupView )和两个 xbis : PopupView.xib 和 PopupView~iphone5.xib 。

当我调用 xib 时:

在 iOS 7 中,当使用 3.5 英寸手机进行测试时,它会加载正确的 PopupView.xib,而在 4 英寸手机上,它会加载 PopupView~iphone5.xib。但是在使用 iOS 6 和 3.5 英寸手机进行测试时,虽然代码从“else”语句传递并且理论上它加载了 PopupView.xib ,但它实际上返回了 iphone 5 xib (显示的视图是为 iphone5 设计的)和加载视图的高度是 548,而不是 480。

有什么建议么?

0 投票
1 回答
477 浏览

ios - 基类的 loadNibNamed 覆盖子类的实例

我有阶级层次

ParentCell 有单独的 XIB,在子单元格中,我在 ParentCell XIB 的一个视图中创建并仅添加一个按钮。但我无法为此按钮添加操作。因为即使我正在为 ChildCell 创建一个实例,它也会返回 ParentCell 的实例

因为我使用 loadNibNamed 来获取带有 IBOutlet 连接的 XIB。@ParentCell 类中的 initWithStyle 方法

@ChildCell 类中的 initWithStyle 方法

@视图控制器

现在通过这种方式暂时解决了

@ParentCell 类中的 initWithStyle 方法

@ChildCell 类中的 initWithStyle 方法

但我不知道这是正确的方法,或者我们有其他更好的方法然后这个..

0 投票
0 回答
135 浏览

ios - 几次 loadNibNamed 调用后自动布局消失

我有一个 UIViewController 可以在其中加载其他几个 UIView

信息:

  • UIViewController 没有 .xib,只是用来控制和加载 UIViews。
  • UIViews:由 .xib 加载(我正在为我需要的每个 UIView 重用相同的 .xib)<<问题??
  • UIViews:自动布局在 .xib 中

首先我加载一个视图,然后用一个操作按钮再次调用加载另一个视图的方法,这里自动布局消失了......但第一个是正确的(打开)。

我用来加载的方法

问题:为什么自动布局只在第一个加载的视图上正常?有什么我可以重置或更新自动布局的吗?