gpt4 book ai didi

iphone - 似乎没有加载带有 nib 作为 subview 的自定义 View

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:05 24 4
gpt4 key购买 nike

我创建了一个从 nib 加载其内容的自定义 View ,如下所示:

/* PricingDataView.h */

#import <UIKit/UIKIt.h>

@interface PricingDataView : UIView {
UIView *contentView;
}
@property (nonatomic, retain) IBOutlet UIView *contentView;
@end

/* PricingDataView.m */

#import "PricingDataView.h"

@implementation PricingDataView
@synthesize contentView;

- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
[[NSBundle mainBundle] loadNibNamed:@"PricingDataView" owner:self options:nil];
[contentView setFrame:frame];
[self addSubview:contentView];
}
return self;
}

/* ... */

在nib文件中我将PricingDataView设置为File's Owner的类型,并连接了IB中的contentView outlet。我将界面库中的常规 UIView 放置到显示给用户的全尺寸 View 上,然后将其类名更改为 PricingDataView。这一切都已构建,但在运行时,我的自定义 View 应该在的位置没有呈现任何内容。

我在 PricingDataView.initWithFrame 中放置了断点,但它们没有命中,所以我知道我遗漏了一些会导致 View 初始化的东西。我很好奇的是,在从 nibs 加载我的其他 View 的过程中,所有的初始化都是为我进行的,但这个不是。为什么?

最佳答案

您确定您的其他 View 没有使用 UIViewController 吗?这是来自 documentation 的引述对于 initWithFrame:UIView:

If you use Interface Builder to design your interface, this method is not called when your view objects are subsequently loaded from the nib file. Objects in a nib file are reconstituted and then initialized using their initWithCoder: method, which modifies the attributes of the view to match the attributes stored in the nib file. For detailed information about how views are loaded from a nib file, see Resource Programming Guide.

关于iphone - 似乎没有加载带有 nib 作为 subview 的自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com