Tag: awakefromnib

处理文件所有者对象的awakeFromNib

我知道有很多相关的问题,为什么awakeFromNib在实例化一些视图时没有被调用。 从Nib唤醒某个视图的消息将被发送到视图本身,并且该消息不会传递给文件所有者。 我看到了为什么我的清醒不会从火中消失? 。 那么,如果你创build一个视图的实例,其文件的所有者本身在xib文件中会发生什么? 换句话说,你有你自己的自定义视图名为MyCustomView.swift和MyCustomView.xib。 在xib文件中,将文件的所有者设置为MyCustomView 。 所以,当你创buildMyCustomView的实例时, awakeFromNib会被调用吗? 在我的情况下, awakeFromNib似乎并没有被调用。 然而,视图本身是真正实例化的。 所以,对于我来说, awakeFromNib没有被调用是很奇怪的。 有谁能解释这件事吗? 仅供参考:我准备了BaseCustomView.swift 。 BaseCustomView有两个init 。 override init(frame: CGRect) { super.init(frame: frame) commonInit() } 和 required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) commonInit() } 而commonInit()就是这样。 private func commonInit() { // load custom view's xib let bundle = Bundle(for: type(of: self)) let […]

UIKit:以编程方式调用awakeFromNib?

我看到了这个代码: CoolButton *coolButton = [[CoolButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 60.0f, 25.0f)]; [coolButton awakeFromNib]; // … [coolButton release]; CoolButton子类UIButton 。 可以以编程方式调用awakeFromNib吗? 如果我想要在-[CoolButton awakeFromNib]执行与我想要以编程方式创build对象(而不是从nib文件)创build对象相同的事情,那么做到这一点的最佳方法是什么? 我应该只是定义一个方法,并调用它-[CoolButton awakeFromNib]和-[CoolButton initWithFrame] ? 或者,有两种情况下,我应该定义另一个初始化方法:是否以编程方式或从nib文件创buildCoolButton ?

IBOutlet没有连接在awakeFromNib中

这里链接的示例代码效果很好,并允许UIScrollView在当前图像之前和之后显示具有分页和预览图像的图像: http://blog.proculo.de/archives/180-Paging-enabled-UIScrollView-With-Previews.html https://github.com/alexrepty/Paging-Enabled-UIScrollView-With-Previews 我试图把这个例子封装在一个可以重用的控件中。 所以我创build了一个PagingScrollView: @interface PagingScrollView : UIView { IBOutlet UIScrollView * scrollView; } @property (nonatomic,retain) IBOutlet UIScrollView * scrollView; @end 污垢简单的实施 – (void) awakeFromNib { [super awakeFromNib]; NSLog(@"awake from nib"); } 在PagingScrollView.xib中,我把一个包含UIScrollView和ARScrollViewEnhancer的View完全和原来的ScrollViewPagingExampleViewController xib一样。 它的文件所有者的类被设置为PagingScrollView,并且其scrollView插口被设置为子UIScrollView。 在ScrollViewPagingExampleViewController中,我只声明: IBOutlet PagingScrollView *pagingScrollView; 在IB中,我拖动View,将其类设置为PagingScrollView,并将其pagingScrollView插口连接到PagingScrollView。 在awakeFromNib中,scrollView属性为零。 我会认为,因为scrollView被连接在同一个笔尖的IB中,所以可以通过这一点。 令人困惑的是,在ScrollViewPagingExampleViewController.xib中,有一个名为scrollView的空出口。 这可能表示存在与PagingScrollView.xib中定义的不同的PagingScrollView实例。 因此,我不能用实际的子视图填充UIScrollView。 我在这里做错了什么?

awakeFromNib的好处?

我一直在学习coredata,通过使用“use coredata”选中基于xcode导航控制器模板的很多简单的testing应用程序。 应用程序委托中的awakeFromNib方法一直是我的问题的一个来源,因为我将其他视图添加到控制器并更改加载顺序,以便RootViewController可能是第二个或第三个select。 我已经知道了awakeFromNib在做什么,我已经删除了它,所以应用程序委托不再绑定到任何特定的视图。 (所以,当我想要加载RootViewController,我将加载它作为一个常规的看法,并使用自己的viewDidLoad初始化视图的managedObjectContext)。 我的问题:在AppDelegate中使用awakeFromNIb会有性能提升或其他好处吗? 还是只是另一种方式做同样的事情,我从viewDidLoad方法做?

在awakeFromNib中获取sockets大小

我创build了一个自定义的UICollectionViewCell其中包含一个标签UICollectionViewCell (放置在Storyboard中)。 我想从我的自定义UICollectionViewCell的awakeFromNib方法中获得此标签的高度,但标签的大小始终为0.000000 : // .h @interface MyCustomCell : UICollectionViewCell @property (weak, nonatomic) IBOutlet UILabel *myLabel; @end // .m @implementation MyCustomCell -(void)awakeFromNib { [super awakeFromNib]; NSLog(@"%@", self.myLabel); NSLog(@"%f", self.myLabel.frame.size.width); NSLog(@"%f", self.myLabel.frame.size.height); } @end 控制台输出: 2013-02-06 11:13:59.628 Test[8880:c07] <UILabel: 0x7649a00; frame = (0 0; 0 0); text = '12h00'; clipsToBounds = YES; opaque = NO; autoresize […]

awakeFromNib何时被调用?

在viewController被分配和初始化后, awakeFromNib被调用了吗? 视图控制器的awakeFromNib被调用的确切点是什么? 在我的debugging会话中,我看到在执行[self.window makeKeyAndVisible]之前,不会调用[self.window makeKeyAndVisible] 。