Я новичок в swift, используя swift 3, я построил табличное представление, которое читает группу изображений, и я хочу иметь его как показано ниже: , когда пользователь выбирает изображение в виде таблицы Я показываю его в UIImageView и при снятии выделения изображения, которое он уже выбрал в представлении таблицы, которое должно быть удалено из UIImageView (множественный выбор включен). Мой код ниже работает только для одного выбора изображения, однако, если выбрано несколько изображений, а затем отменено, последний выбранный только удаляется из UIImageview. Так что мой вопрос, как я могу удалить UIImageView, который принадлежит выключенной записи в UITableViewКак удалить UIView из супервизора с определенной позицией программно
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
image_view.image = UIImage(data: Saveddata[indexPath.row].photo as! Data)
//create image view programmatically
currentImageView = UIImageView(frame: CGRect(x: 130 + (i * 10), y: 50 + (i * 5), width: 50, height: 100))
currentImageView.contentMode = .scaleAspectFit
currentImageView.image = image_view.image
view.addSubview(currentImageView as UIView)
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
currentImageView.removeFromSuperview()
}
Вы не можете просто удалить компонент просмотра или пользовательского интерфейса в 'UITableViewCell'. он может использоваться повторно для других строк. То, что вы можете сделать, это установить флаг с использованием глобального массива и сохранить 'indexPath.row' в качестве индекса для тех, которые вы удалили. Затем в вашем 'cellForRow', проверьте, существует ли этот индекс, скройте изображение или измените ограничение' width' на 0 – xmhafiz
, избегайте uisng 'addSubview', вместо этого используйте раскадровку или xib с IBOutlet. Это предотвращает создание дублирующего представления внутри ячейки – xmhafiz
@ h44f33z, спасибо, однако, я не пытаюсь удалить его из tableview. Я пытаюсь удалить его из созданного мной UIview и добавить изображение к нему, когда это изображение выбрано в tableview – rania