0

我有一个UIView,我在其中编写了以下方法:

- (void)drawLabels:(NSMutableArray*)labelArray{
  for (int i=0; i<[labelArray count]; i++) {        
    CGRect labelFrame = CGRectMake(0, 0, 50, 50);
    labelFrame = CGRectInset(labelFrame, 5, 5);
    UILabel *label = (UILabel*)[labelArray objectAtIndex:i];
    [self addSubview:label];    

}

代码崩溃并出现以下错误:

-[UIDeviceRGBColor superview]:无法识别的选择器发送到实例 0x6e397c0 2012-11-27 18:37:33.559 QuartzSample[57621:f803] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UIDeviceRGBColor superview]:无法识别的选择器sent to instance 0x6e397c0' * First throw call stack: (0x13cf022 0x1560cd6 0x13d0cbd 0x1335ed0 0x1335cb2 0x55e4f 0x5014b 0x4398 0x38a1 0xe0a1e 0x3f401 0x3f670 0x3f836 0x4672a 0x292b 0x17386 0x18274 0x27183 0x27c38 0x1b634 0x12b9ef5 0x13a3195 0x1307ff2 0x13068da 0x1305d84 0x1305c9b 0x17c65 0x19626 0x2632 0x25a5) terminate called throwing an exception(lldb )

我希望将标签放置在具有所有格式(颜色、字体、大小等)的视图上。另外,当我输入以下代码时:

NSLog(@"%@",[labelArray objectAtIndex:i]);

我在控制台中得到以下信息: UIDeviceRGBColorSpace 0 1 0 0.3

有人可以详细说明吗?

4

1 回答 1

0
  1. 看来你是设置labelFrame,但你没有使用它。
  2. 在使用 addSubView 之前,确保label不是nil
  3. 通过as 参数配置UILabel使用setFont:方法的字体和大小UIFont
  4. 配置作为参数.textColor传递的颜色使用属性UIColor
于 2013-03-05T13:13:42.863 回答