问题标签 [awakefromnib]

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

nslayoutconstraint - 在 awakeFromNib 中似乎没有设置框架视图

我在我的视图控制器中使用自动布局来对齐 uiview,就好像它是一个导航栏(对齐到顶部,拉伸到尾随和前导边以及 44 高度)。

我已经对这个视图进行了子类化,并且在awakeFromNib我想向它添加子视图。

但是,当我添加这些子视图(也有对父视图的约束)时,它不起作用。

最初我认为约束编程不正确,但是,在记录视图的框架后,如下所示:

我得到以下输出:

然而,例如,当我登录时,touchesBegan:withEvent:它会记录正确的帧大小。

有谁知道这可能是什么原因造成的?

我也尝试过设置setTranslatesAutoresizingMaskIntoConstraints:NO所有涉及的视图。但似乎没有任何效果。

提前致谢!

0 投票
1 回答
123 浏览

ios - iOS:从笔尖重写到情节提要

我正在使用情节提要更新(即重写)一个相当简单的 iOS 应用程序(以前的版本使用 xib 文件)。这次重写部分是为了我自己的启迪,因为最初的应用程序是由我的一个朋友编写的,我终于找到了一些时间来自己深入研究 iOS。

该应用程序使用导航控制器在视图控制器(品牌/模型/尺寸)之间循环。每个视图控制器都包含一个带有值列表(品牌/型号/尺寸)的表格视图。

在 xib 版本中,在每个视图控制器中,我都有一个独特的 init 方法,它将接受来自前一个视图控制器的信息(例如:模型视图控制器需要知道选择了哪个品牌 - 这样它就可以显示适当的模型;尺寸视图控制器需要知道选择了哪个品牌和型号 - 这样它才能显示适当的尺寸)。另外,在自定义初始化中,我会调用 initWithNibName。

现在,使用故事板,我们不再调用 initWithNibName,我们应该挂钩到 awakeFromNib。这对 make 视图控制器非常有用,因为它总是显示相同的 make 列表 - 因为它是导航控制器中的根视图控制器。

Where I'm stuck is how to continue to use storyboards and awakeFromNib but pass data along the way (ie: send selected make to model view controller when row in make view controller's table view is selected).

我希望我在这里有意义。

提前致谢。

0 投票
2 回答
9147 浏览

iphone - awakeFromNib 没有调用但显示 xib

我在 xcode 4.5 中创建了一个新项目,并通过以下方式调用了我的视图控制器

-(id)initWithNibName:bundle:

来自 appdelegate,因为它在默认项目模板中调用,我没有使用故事板,但没有调用 awakeFromNib 我也搜索过,但无法理解为什么awakeFromNib 没有调用。

苹果文档中的-(void)awakeFromNib “在从 Interface Builder 存档或 nib 文件加载接收器后准备服务”。“符合NSCoding协议的对象(包括 UIView 和 UIViewController 的所有子类)使用它们的 initWithCoder: 方法进行初始化。所有不符合 NSCoding 协议的对象都使用它们的 init 方法进行初始化。所有对象都被实例化和初始化后, nib 加载代码为所有这些对象重新建立出口和操作连接。然后它调用对象的 awakeFromNib 方法。

我的问题是为什么 awakeFromNib 在加载 xib 文件时没有调用?我做错了吗?请详细说明

0 投票
2 回答
2531 浏览

ios - 字体和 textColor 消失了 - 又一个 UITableViewCell awakeFromNib

我不知道这是否是特定的,UITableViewCells而是一般的UIViews (我相信),但我注意到了一个单元格的问题

如前所述,我有一个自定义UITableViewCell子类,它在使用指定的 init 初始化时从 xib 加载自身:

它有一个UILabel作为出口,我在awakeFromNib方法中设置了它的一些属性:

关键是,标签既不保留textColor 也不保留字体,我不明白为什么。
awakeFromNib被调用并且插座连接正确,因为我可以设置文本。

在我设置他的文本后,我可以通过设置这些属性使其工作,UITableViewDataSource但我不觉得这是正确的方式,我想了解为什么这不起作用。

问题
为什么它不保留字体和文本颜色,我该怎么做才能让它以正确的方式工作?

0 投票
1 回答
286 浏览

objective-c - 由于太长的 awakeFromNib 导致应用程序崩溃

我正在 Xcode 上创建一个简单的应用程序,其用户界面仅包括一个仅包含 5 个标签的窗口。我只想使用日期在标签中显示一些文本。我完成了-awakeFromNib方法中的所有工作。但是当我构建并运行应用程序时,图标出现并立即崩溃,没有显示任何窗口。正如我猜想的那样,-awakeFromNib加载太多而无法运行。当我删除一半代码时,一切正常。

如此庞大的我该如何应对-awakeFromNib?我应该将代码写入另一种方法吗?请注意,当我将方法从-awakeFromNibto更改时-applicationDidFinishLaunching:,会发生同样的事情。

0 投票
2 回答
7889 浏览

ios - 在 awakeFromNib 中获取出口尺寸

我创建了一个UICollectionViewCell包含标签出口的自定义(放置在情节提要中)。我想从awakeFromNib我的自定义方法中获取此标签的高度UICollectionViewCell,但标签的大小始终为0.000000

控制台输出:

如何获得标签的大小?awakeFromNib在被调用时获得此类信息是否为时过早?如果是这样,我应该以我的自定义单元格的哪种方法获得大小?

编辑

这是在 ViewController 中观察到的同样奇怪的行为:

和输出:

0 投票
1 回答
354 浏览

iphone - 使用情节提要时设置完成的 TabBar 图像?

我正在开发一个应用程序,其中大部分 UI 是通过 Xcode 中的 Storyboard 设置的。我想做的一件事是为 TabBar 上的 UITabBarItems 指定“完成”图像,而不是您可以通过 Interface Builder 访问的默认“Stencilled”图像。

我的问题是在哪里执行此操作的最佳位置,我目前正在 awakeFromNib 中执行此操作,因为当从情节提要中取消归档内容时需要执行此操作,但我不确定是否应该使用 initWithCoder: 代替,这是最好的有关系吗?

或者

我知道initWithCoder:当出口和动作尚未连接时,在从笔尖(包含在故事板中)取消归档对象开始时调用。我也知道awakeFromNib在取消归档过程结束时会调用它,并表示 viewController 现在可以使用了。我的感觉是,这实际上取决于您想做什么,尽管使用awakeFromNib可能会证明问题较小,因为您不会遇到尚未连接出口和操作的问题。

编辑:

让我换个说法,你会在什么情况下使用initWithCoder:awakeFromNib反之亦然?

0 投票
1 回答
1114 浏览

iphone - awakeFromNib 中的代码被故事板覆盖

我有以下代码:

里面的代码什么都不做;当应用程序加载时 buttonOne 正是它在故事板上的位置。

如果我在 viewDidLoad 中放置相同的代码:

它工作,按钮被向下移动。

这是因为在 awakeFromNib 触发和正在绘制的视图之间发生了一些事情吗?

任何澄清都会很棒!

0 投票
1 回答
1303 浏览

objective-c - awakeFromNib 无法从 UILabel 获取值,也无法禁用 UIButton

我在单视图应用程序主情节提要中有两个按钮,并希望禁用其中一个按钮,并使用 awakeFromNib 方法从 UILabel 获取值。就我而言,必须初始化所有关系和 GUI 项,并且必须在调用 awake 方法之前分配值。不幸的是,我无法通过应用获取值并禁用按钮

到我上过的课。我已经建立了 UILabel 和

在我创建的类文件中。有人可以看到错误还是我应该提供有关该问题的更多信息?

0 投票
1 回答
397 浏览

objective-c - 子视图的 awakeFromNib 和视图的 viewDidLoad 之间调用了哪些函数?

UIViewController在情节提要中有一个 UIView/UIViewController (),其中包含一个CustomView具有关联 .xib 文件的自定义 UIView ()。我在加载时遇到以下现象UIViewController

  • CustomViewawakeFromNib函数被调用
  • SOMETHING(?) 将我的子视图的框架设置为 0.0 的高度;堆栈跟踪显示[UIViewController autoresizedArchivedView](相关?)
  • UIViewControllerviewDidLoad函数被调用

知道这之间发生的“东西”是什么,awakeFromNib以及viewDidLoad我如何控制它吗?