【问题标题】:Add UILabel to view objective-c添加UILabel查看objective-c
【发布时间】:2012-02-28 03:12:09
【问题描述】:

我想为每个制作的括号添加一个标签。我在倒数第二行收到“接收者类型'draw 2D'(我的类),例如消息没有声明带有选择器'addSubView'的方法”。最后一行我收到“ARC 禁止发送'release' 的显式消息”。

这是我的代码:

for (int i = 0; i < 4; i++) {
    CGFloat bracketStartX = 50;
    CGFloat bracketEndX = 200;
    CGFloat bracketStartY = 25  + (i * height / 4);
    CGFloat bracketEndY = 80 + (i * height / 4);
    CGContextMoveToPoint(context, bracketStartX, bracketStartY);

    //make bracket
    CGContextAddLineToPoint(context, bracketEndX, bracketStartY);

    CGContextAddLineToPoint(context, bracketEndX, bracketEndY);
    CGContextAddLineToPoint(context, bracketStartX, bracketEndY);

    CGContextMoveToPoint(context, bracketEndX, (bracketEndY + bracketStartY)/2 );
    CGContextAddLineToPoint(context, bracketEndX + 50, (bracketEndY + bracketStartY)/2);

    UILabel *label =  [[UILabel alloc] initWithFrame: CGRectMake(bracketStartX + 5, bracketStartY - 5, 20, 15)];
    label.text = @"text"; //etc...
    [self addSubView:label];
    [label release];

}

谢谢。

【问题讨论】:

    标签: objective-c uilabel


    【解决方案1】:

    [self addSubview]; // lowercase v

    如果您使用 ARC,请不要 release 您的对象。

    【讨论】:

      【解决方案2】:

      看起来你的类不是 UIView 的子类,这就是你不能调用 addSubView 的原因。此外,由于您使用的是 ARC,因此您可以安全地删除发布调用,ARC 会为您处理掉它。

      【讨论】:

        猜你喜欢
        • 2012-02-15
        • 1970-01-01
        • 2011-03-13
        • 1970-01-01
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 2013-08-28
        • 1970-01-01
        相关资源
        最近更新 更多