iOS/iPhone:UIView未添加NSMutableArray元素(包含UILabel对象)

iOS/iPhone:UIView未添加NSMutableArray元素(包含UILabel对象),uiview,nsmutablearray,uilabel,Uiview,Nsmutablearray,Uilabel,我有一个ui视图,其中我编写了以下方法: - (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 = (UILab

我有一个ui视图,其中我编写了以下方法:

- (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];    
我在控制台中得到以下信息: UIDeviceGBColorSpace 0 1 0 0.3

有人能详细说明吗

  • 似乎您正在使用设置
    labelFrame
    ,但您没有使用它
  • 在使用addSubView之前,请确保
    标签
    不是
    nil
  • 要配置
    UILabel
    的字体和大小,请使用
    setFont:
    方法将
    UIFont
    作为参数传递
  • 要配置颜色,请使用
    .textColor
    属性将
    UIColor
    作为参数传递

  • 错误消息表示您正在调用颜色的“superview”。我猜你认为这是一种风景。检查执行该操作的代码。也许那个数组根本不包含UILabel对象?好的。。我会检查一下,那么最终的解决方案是什么。你能提供一些代码吗?Thilot这个问题看起来好像与labelArray中的对象有关。您能否更新问题以显示如何创建它们以及如何填充数组?
    UILabel*l1=[[UILabel alloc]init];l1.text=@“text 1”;UILabel*l2=[[UILabel alloc]init];l2.text=@“text 2”;UILabel*l3=[[UILabel alloc]init];l3.text=@“text 3”;labels=[NSMutableArray数组,其对象为:l1、l2、l3、nil]
    
    NSLog(@"%@",[labelArray objectAtIndex:i]);