2015-05-02 2 views
2

Я создал UITableView и подкласс UITableViewCell с использованием кода, и он отображает совершенно отлично до тех пор, пока я не выберу ячейку.UITableViewCell textLabel, изменяющее позицию при выборе

TextLabel ячейки сместится вправо или не смещаться иногда

Image Представление задачи перед выбором

Image representation of the problem

представление изображения проблемы после выбора Image representation of the problem after selection

Соответствующей Код

class MyCell: UITableViewCell { 

override func layoutSubviews() { 
    super.layoutSubviews() 
    // here I fixed the image at a specific point 
    self.imageView?.bounds = CGRectMake(0, 0, 100, 125) 
    self.imageView!.frame = CGRectMake(0, 0, 100, 125) 
    self.imageView?.contentMode = .ScaleAspectFill 

} } 
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = MyCell(style: UITableViewCellStyle.Default, reuseIdentifier: "FeedCell") 

    self.configureCell(cell, atIndexPath: indexPath) 

    return cell 
} 

func configureCell(cell: MyCell, atIndexPath indexPath: NSIndexPath) { 
    let item = self.items[indexPath.row] as MWFeedItem 
    cell.textLabel?.text = item.title 
    cell.textLabel?.font = UIFont.systemFontOfSize(12.0) 
    cell.textLabel?.numberOfLines = 0 
} 

ответ

1

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

Даже в вашем первом изображении размер изображений неверен, поэтому у вас есть несоответствие между ячейкой и контроллером. И свойства, которые вы используете в настоящее время, должны считаться частными частными с точки зрения их размера и позиции, потому что вы не владеете реализацией, которая устанавливает эти функции представлений.

+0

Для тех, кто возвращается к этой проблеме. Моя textLabel в моей пользовательской ячейке прыгала каждый раз, когда ячейка переместилась в выбранное состояние. Все, что я сделал, чтобы исправить это, это определение моего собственного свойства textLabel в моей настраиваемой ячейке и переход от встроенного свойства textLabel к новому пользовательскому. БУМ! Проблема решена! – iOS4Life

Смежные вопросы