2015-02-17 5 views
0

Есть ли способ скрыть субтитры всех ячеек до тех пор, пока вы не выберете ячейку - тогда это только покажет вам субтитры этой ячейки? Я попытался следующий код - который успешно скрывает все субтитры, но не показывает один, когда я выбираю ячейку:Как показать скрытый субтитр в UITableView, когда он выбран?

if cell.selected { 
     cell.detailTextLabel?.hidden = false 
    } else { 
     cell.detailTextLabel?.hidden = true 
    } 

Спасибо за любую помощь.

Edit 2 - Я закончил тем, что делал это в моем didSelectRowAtIndexPath:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    for cell in tableView.visibleCells() { 
     cell.detailTextLabel??.hidden = true 
    } 
    var cell = tableView.cellForRowAtIndexPath(indexPath) 
    cell?.detailTextLabel?.hidden = false 

} 

Большое спасибо, Кристиан!

ответ

1

Просто используйте метод didSelectRowAtIndexPath и войдите в контактную ячейку. Затем вы можете показать detailTextLabel.

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellID) as UITableViewCell 

    cell.detailTextLabel?.hidden = false 
} 
+0

Это похоже на то, что мне нужно сделать, но я не могу заставить его работать. Либо они все там, если я не заставляю их скрываться в раскадровке, или все они скрыты и не отображаются, когда я выбираю строку - даже с этим переопределением. Я добавлю больше своего кода выше - возможно, это что-то связано с чем-то еще там? Большое спасибо, Christian –

+0

, где вы скрываете ярлыки? Я думаю, проблема заключается в том, что вы скрываете ее в функции, которая вызывается каждый раз, когда что-то происходит в Tableview. Может быть, cellForRowAtIndexPath? – Christian

+0

в раскадровке, где я могу это поставить? –

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

  • Нет связанных вопросов^_^