如何在自定义视图具有关联的nib时从对象库中拖动来创建自定义视图

时间:2013-07-10 18:05:49

标签: ios xcode uiview interface-builder

我正在尝试找出创建视图的所有不同方法,并且在我有自定义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,我可以拖出自定义视图但是如果我将它从对象库中拖出并更新Identity Inspector中的自定义类,则无法执行此操作。

我知道我正在做一些非常幼稚的事情,但我无法相信我无法让它发挥作用。有关如何将通用视图拖出到情节提要控制器并更新自定义类并让它工作的任何想法?

编辑#1

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

enter image description here

1 个答案:

答案 0 :(得分:0)

即使使用当前版本的XCode 4.6.3,如果不编写XCode插件(目前甚至不支持),也不能在Interface Builder中显示自定义对象。

所以唯一的解决方案是从现有对象中拖入Generic View,然后更改对象类型。不幸的是,您不会在Interface Builder中看到任何自定义UIView的视觉效果。烦人,不是吗?