【问题标题】:iphone, objective c, xcode苹果手机,目标c,xcode
【发布时间】:2009-12-14 10:06:00
【问题描述】:

我定义了一个 UIView “RowOfThree”,其中有 3 个标签。我还定义了一个 UIView“表”,其中有许多“行”类型的对象。 以下代码在对象“Table”中的方法中:

RowOfThree *rowOfThree = [[RowOfThree alloc] init]; [self addSubview:rowOfThree];

由于某种原因,它没有添加视图。 我尝试在 IB 和以编程方式定义“RowOfThree”中的标签,但它仍然不起作用。 谢谢你。

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    通常,UIView(和子类)使用initWithFrame: 进行初始化。也许您在自己的init 实现中这样做了,我不知道,但很可能您的视图具有 {0,0,0,0} 的框架,因此高度为 0,宽度为 0。手动设置框架并告诉我们这是否有效。

    CGRect newFrame = CGRectMake(0.f, 0.f, 200.f, 40.f);
    RowOfThree *rowOfThree = [[RowOfThree alloc] initWithFrame:newFrame];
    [self addSubview:rowOfThree];
    [rowOfThree release];
    

    【讨论】:

    • 输入的正是这个。 :)
    • 所以我们两个人,也许我们毕竟走在正确的轨道上。太糟糕了,我无法分割这个答案将产生的数百万声誉点,对不起。 ;)
    【解决方案2】:

    SanHalo 的回答很可能是正确的,但此外,如果您使用的是 Interface Builder,则不应直接初始化在 nib 中定义的视图。如果这样做,则必须使用 initFromNib 而不仅仅是 init

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 1970-01-01
      • 2012-04-24
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 2019-02-27
      相关资源
      最近更新 更多