#iphone #objective-c #uitableview
#iPhone #objective-c #uitableview
Вопрос:
Я работаю над приложением списка задач. Однако, похоже, я не могу правильно выровнять изображение моего флажка с ячейкой.textLabel.text.
Моя проблема с приведенным ниже кодом заключается в том, что слова «test test» были закрыты моим изображением флажка, на котором осталось только «st test»
Мой код для изображения кнопки checkbox похож
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(5.0, 7.0, 25.0, 25.0)];
UIImage *uncheckedButtonImage = [UIImage imageNamed:@"unchecked_checkbox.png"];
[button setImage:uncheckedButtonImage forState:UIControlStateNormal];
[cell.contentView addSubview:button];
и текстовая метка моей ячейки просто
cell.textLabel.text = @"test test";
Есть ли в любом случае возможность выровнять текст textLabel, чтобы немного сдвинуть вправо?
Комментарии:
1. почему бы не использовать UILabel в качестве представления и не добавить его в ячейку, у вас будет больше контроля над ним.
Ответ №1:
Я предложил добавить UILabel, потому что в будущем, если вам понадобится изменить ячейку просмотра, будет более динамично и проще воспроизводить все новое в ячейке.
взгляните на следующий фрагмент кода:
CGRect DeviceNameFrame = CGRectMake(101, 32, 522, 21);
UILabel *lblDeviceName = [[UILabel alloc] initWithFrame:DeviceNameFrame];
lblDeviceName.backgroundColor = [UIColor clearColor];
lblDeviceName.font = [UIFont fontWithName:@"Helvetica-Bold" size:17];
lblDeviceName.text = @"test test";
lblDeviceName.lineBreakMode = UILineBreakModeMiddleTruncation;
[cell.contentView addSubview:lblDeviceName];
[lblDeviceName release];
Я надеюсь, что это поможет вам.
Комментарии:
1. привет, Ахмад, если я использую это решение, то при «пролистывании для удаления» кнопка удаления будет перекрываться текстом в uitableviewcell. Знаете ли вы какой-либо обходной путь для этого?
2. @lucas: Вы хотите, чтобы UILabel был над кнопкой удаления при пролистывании?
Ответ №2:
Самым простым решением было бы посмотреть на свойства «Отступ» UITableViewCell. Смотрите документацию для получения дополнительной информации. Однако выделение подкласса ячейки и добавление собственной UILabel даст вам наибольший контроль.