2010-06-20 25 views
2

查看圖像示例:http://img25.imageshack.us/img25/6996/90754687.png
灰色背景指示UILabel幀的大小。UILabel在包裝時未完全對齊中心

出於某種原因,即使我使用UITextAlignmentCenter,包裝文本的第一行似乎並不總是居中。

下面是我用它來建立我的標籤代碼:

self.titleLabel = [[UILabel alloc] initWithFrame:CGRectZero]; 
    titleLabel.font = [UIFont boldSystemFontOfSize:fontHeight]; 
    titleLabel.backgroundColor = [UIColor grayColor]; 
    titleLabel.numberOfLines = 2; 
    titleLabel.lineBreakMode = UILineBreakModeMiddleTruncation; 

    NSString * title = file.name; 
    CGSize maximumSize = CGSizeMake(thumbnailWidth+4,fontHeight * 3); 
    UIFont * font = [UIFont boldSystemFontOfSize:12]; 
    CGSize stringSize = [title sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:titleLabel.lineBreakMode]; 

    CGRect stringFrame = CGRectMake(0, thumbnailHeight + thumbnailPadding, thumbnailWidth + 4, stringSize.height); 
    titleLabel.text = title; 
    titleLabel.frame = stringFrame; 
    titleLabel.textAlignment = UITextAlignmentCenter; 
+0

Hi @David Liu。你有沒有設法找到這個解決方案? – user4806509 2016-02-17 16:21:56

+0

@ user4806509我不記得了。太久以前。 – 2016-02-18 23:21:13

回答

1

那是因爲在文本中沒有空格?在IB中,如果你沒有空間,它就會像你一樣反應。將換行符模式設置爲字符換行趨於將第二行居中到第一行,但這可能不完全是您想要的。