.xib的UILabel属性的setFrame不起作用

时间:2012-09-12 11:45:40

标签: ios uiscrollview uilabel frame

我在viewController中创建下一个方法

-(void)setupDocsLabel:(NSMutableArray *)documents{      
    self.lDocumentos.frame = CGRectMake(self.lDocumentos.frame.origin.x, kFirstLabelYPosition+actualLabelYPos,self.lDocumentos.frame.size.width,lDocumentos.frame.size.height);
    self.Documentos.frame = CGRectMake(self.Documentos.frame.origin.x, kFirstLabelYPosition+actualLabelYPos,self.Documentos.frame.size.width,self.Documentos.frame.size.height);

    actualLabelYPos +=20.0;


    for (DocInformation *doc in documents) {
        NSString *textLabel = [doc.documentDescription stringByAppendingString:@" :"];
        UIFont *lblFont = lDocumentos.font;
        CGSize sizeFont = [textLabel sizeWithFont:lblFont forWidth:120.0 lineBreakMode:NSLineBreakByTruncatingTail];

        UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(lDocumentos.frame.origin.x+20, kFirstLabelYPosition+actualLabelYPos,sizeFont.width,sizeFont.height)] retain];
        label.text = textLabel;
        [label setFont:lblFont];
        [label setTextColor:lDocumentos.textColor];
        [label setBackgroundColor:[UIColor clearColor]];
        //[label setLineBreakMode:NSLineBreakByTruncatingTail];


        NSString *textDoc = doc.cdgoDocum;
        UIFont *lblFontDoc = Documentos.font;
        CGSize sizeFontDoc = [textDoc sizeWithFont:lblFontDoc];

        UILabel *labelDoc = [[[UILabel alloc] initWithFrame:CGRectMake(label.frame.origin.x+label.frame.size.width+20, kFirstLabelYPosition+actualLabelYPos,sizeFontDoc.width,lDocumentos.frame.size.height)] retain];
        labelDoc.text = textDoc;
        [labelDoc setFont:lblFontDoc];
        [labelDoc setTextColor:lDocumentos.textColor];
        [labelDoc setBackgroundColor:[UIColor clearColor]];

        [self.scrollView addSubview:label];
        [self.scrollView addSubview:labelDoc];

        [label release];
        [labelDoc release];

        actualLabelYPos+=20.0;
    }
    //[self.view setNeedsDisplay];
    //[self.view setNeedsLayout];
}

新标签很好地添加到scrollView,但是self.lDocumentos(.xib的IBOutlet)不会改变他的位置。

感谢您的帮助!!

1 个答案:

答案 0 :(得分:8)

我已经解决了,问题是.xib在文件检查器中启用了使用AutoLayout