Значение QuickDialog слишком длинное для QLabelElement - PullRequest
0 голосов
/ 18 февраля 2012

Привет, у меня есть 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

как я могу это исправить? Я думаю о чем-то вроде усечения текста или о чем-то, но я понятия не имею, где я могу это установить.

Ответы [ 2 ]

0 голосов
/ 15 июня 2012

Если вы хотите обернуть текст значения, пожалуйста, посмотрите на мое изменение .

0 голосов
/ 19 февраля 2012

Ладно, кажется, нет простого способа решить мою проблему. Решение состоит в том, чтобы оценить класс 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);

}

Если у вас есть как длинные заголовки, так и длинные значения, вы можете просто добавить следующий код, чтобы разделить поровну одинаково.

 if (valueSize.width > self.contentView.bounds.size.width/2) {
        valueSize.width = self.contentView.bounds.size.width/2;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...