2012-02-18 40 views
0

您好我有一個QLabelElement並設置該值,如下面的(相同的示例應用程序):QuickDialog值太長QLabelElement

[s1 addElement:[[QLabelElement alloc] 
initWithTitle:@"Long text long text long text long text" 
     Value:@"this is the value this is the value this is the value"]]; 

但是現在這個元素看起來真的很醜陋的的tableView原因顯然文本太長:

enter image description here

我該怎麼解決呢? 我正在考慮像截斷文本或其他東西,但我不知道我可以設置的位置。

回答

0

確定它接縫有沒有簡單的方法來解決我的問題。 解決方案是費用化QTableViewCell類。

我重寫了它,所以文本標籤是占主導地位的。

- (void)layoutSubviews { 

    [super layoutSubviews]; 
    CGSize valueSize = CGSizeZero; 

    if (self.textLabel.text!=nil) 
     valueSize = [self.textLabel.text sizeWithFont:self.textLabel.font]; 


    CGSize imageSize = CGSizeZero; 
    if (self.imageView!=nil) 
     imageSize = self.imageView.frame.size; 

    if (self.detailTextLabel.text ==nil) { 
     CGRect labelFrame = self.textLabel.frame; 
     self.textLabel.frame = CGRectMake(labelFrame.origin.x, labelFrame.origin.y, 
              self.contentView.bounds.size.width - imageSize.width - 20, labelFrame.size.height); 
     self.textLabel.backgroundColor = [UIColor greenColor]; 
    } 
    else{ 
     CGRect labelFrame = self.textLabel.frame; 
     self.textLabel.frame = CGRectMake(labelFrame.origin.x, labelFrame.origin.y, 
              valueSize.width, labelFrame.size.height); 

    } 




    CGRect detailsFrame = self.detailTextLabel.frame; 
     self.detailTextLabel.frame = CGRectMake(self.textLabel.frame.origin.x + valueSize.width, 
               detailsFrame.origin.y, self.contentView.bounds.size.width - valueSize.width - 
               imageSize.width - 20, detailsFrame.size.height); 

} 

如果你有兩個長標題和長值,那麼你可以添加下面的代碼來平均分割den。

if (valueSize.width > self.contentView.bounds.size.width/2) { 
     valueSize.width = self.contentView.bounds.size.width/2; 
    }