0

我试图找出创建视图的所有不同方法,并且当我有自定义 xib 时,将其从对象库中拖出时遇到问题。

这就是我在 UIView 中的内容:

-(id)initWithCoder:(NSCoder *)aDecoder{
  self=[super initWithCoder:aDecoder];
    if (self) {
    }
    NSLog(@"about to return here");
    return self;
}


- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
       UIView *myView=[[[NSBundle mainBundle] loadNibNamed:@"testview" owner:nil options:nil] lastObject];
      [self addSubview:myView];
    }
    return self;
}

// drawRect is commented out

如果我覆盖 drawRect,我可以拖出自定义视图,但如果我将其从对象库中拖出并更新身份检查器中的自定义类,则无法执行此操作。

我知道我在做一些非常天真的事情,但我不敢相信我不能让它发挥作用。关于如何能够将通用视图拖到情节提要控制器并更新自定义类并使其正常工作的任何想法?

编辑#1

这是一个屏幕截图。它正在尝试绘制一些东西,但它就像它不知道要绘制什么一样。我添加了几个 setNeedsDisplay 但没有成功。主视图的背景为浅蓝色,自定义视图应为绿色。白线与此自定义视图的位置一致。

在此处输入图像描述

4

1 回答 1

0

Even with the current version of XCode 4.6.3, you cannot have custom objects shown in Interface Builder without writing a XCode Plugin (which is not even supported at the moment).

So the only solution is to drag in a Generic View from the existing objects, and change the object type afterwards. Unfortunately, you won't see any visuals of your custom UIView in Interface Builder. Annoying, isn't it?

于 2013-07-10T18:11:30.520 回答