Разделить все содержимое ячейки между UILabel и UIButton - PullRequest
0 голосов
/ 16 октября 2011

У меня есть подкласс UITableViewCell. Я динамически добавляю UILabel и UIButton к нему.

Прямо сейчас я переопределил layoutSubviews и устанавливаю x, y абсолютно для кнопки и метки. Чтобы иметь возможность разместить как макеты экрана, так и большие экраны, я хотел бы сделать это автоматически. Есть ли способ указать метке «плавать вправо» и кнопку «плавать вправо»? В идеале ярлык должен занимать все пространство, в котором кнопка не нужна (по большей части кнопка будет иметь фиксированный размер).

Ответы [ 2 ]

0 голосов
/ 16 октября 2011

Вы можете попробовать что-то вроде этого, предполагая, что cellLbl - это UILabel, а cellBtn - это UIButton:

- (void) layoutSubviews
{
  CGRect rctFrm;
  CGFloat flW;
  CGFloat flH;
  int iSpacing = 4; // This could be fixed for a percentage of cell width

  [super layoutSubviews];
  flW = self.contentView.bounds.size.width;
  flH = self.contentView.bounds.size.height;
  rctFrm = self.cellBtn.frame;
  flW -= rctFrm.size.width + iSpacing;
  rctFrm.origin.x = flW; // Right justify button
  rctFrm.origin.y = (flH - rctFrm.size.height) / 2; // Center button vertically
  [self.cellBtn setFrame:rctFrm];
  rctFrm = self.cellLbl.frame;
  rctFrm.origin.x = iSpacing;
  rctFrm.size.width = flW - (2 * iSpacing);
  // You can adjust UILabel vertical position and height if desired
  [self.cellLbl setFrame:rctFrm];
}
0 голосов
/ 16 октября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...