У меня есть представление о таблице, которое показывает множество подписных просмотров с деталями гостей. Когда клетки прокручивают, сигнатура из ячейки 1 повторяется в ячейке 6 и 2 в ячейке 7 и так далее. (Повторное представление о таблице задача ячейки) В другом подходе я попытался очистить массив представлений подписи, которые держат сигнатуру в функции повторного использования. и когда ячейка создается в то время, основанное на пути индекса, который представление Cell.Signature добавляется в массив и сохраняется. Повторение. < /p>
Я могу предоставить код того, что я попробовал.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellReusableId = String(describing: ProfileSignataureTableViewCell.self)
guard let cell = tableView.dequeueReusableCell(withIdentifier: cellReusableId, for: indexPath) as? ProfileSignataureTableViewCell
else { fatalError("Cell not exists in storyboard") }
cell.firstNameText.delegate = self
cell.lastNameText.delegate = self
cell.ageText.delegate = self
cell.firstNameText.tag = indexPath.row
cell.lastNameText.tag = indexPath.row
cell.ageText.tag = indexPath.row
// cell.signatureView.tag = indexPath.row
cell.signatureView?.delegate = self
cell.signatureView?.tag = indexPath.row
if let existingSignature = signArray.first(where: { $0.indexPath == indexPath.row })?.signatureViews {
// Reuse the existing signature view if found
cell.signatureView = existingSignature
print("Reusing existing signature view for row \(indexPath.row)")
// use the existing signature views array to draw the signature back again not png data
if let signatureData = existingSignature.pathArray as? [Any] {
cell.signatureView?.pathArray = signatureData as! NSMutableArray
}
} else {
if let signatureView = cell.signatureView {
// Save the new signature view in the array
signArray.append(Signatures(indexPath: indexPath.row, signatureViews: signatureView))
print("Stored new signature view for row \(indexPath.row)")
} else {
print("No signature view available for row \(indexPath.row)")
}
}
cell.btn_clear.tag = indexPath.row
cell.btn_clear.addTarget(self, action: #selector(editButtonPressed), for: .touchUpInside)
print("the new array count is \(signArray.count)")
return cell
}
struct Signatures {
var indexPath: Int?
var signatureViews: SamsoSignatureView?
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... -inside-it
Как предотвратить повторение вида внутри него? ⇐ IOS
Программируем под IOS
-
Anonymous
1741353798
Anonymous
У меня есть представление о таблице, которое показывает множество подписных просмотров с деталями гостей. Когда клетки прокручивают, сигнатура из ячейки 1 повторяется в ячейке 6 и 2 в ячейке 7 и так далее. (Повторное представление о таблице задача ячейки) В другом подходе я попытался очистить массив представлений подписи, которые держат сигнатуру в функции повторного использования. и когда ячейка создается в то время, основанное на пути индекса, который представление Cell.Signature добавляется в массив и сохраняется. Повторение. < /p>
Я могу предоставить код того, что я попробовал.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellReusableId = String(describing: ProfileSignataureTableViewCell.self)
guard let cell = tableView.dequeueReusableCell(withIdentifier: cellReusableId, for: indexPath) as? ProfileSignataureTableViewCell
else { fatalError("Cell not exists in storyboard") }
cell.firstNameText.delegate = self
cell.lastNameText.delegate = self
cell.ageText.delegate = self
cell.firstNameText.tag = indexPath.row
cell.lastNameText.tag = indexPath.row
cell.ageText.tag = indexPath.row
// cell.signatureView.tag = indexPath.row
cell.signatureView?.delegate = self
cell.signatureView?.tag = indexPath.row
if let existingSignature = signArray.first(where: { $0.indexPath == indexPath.row })?.signatureViews {
// Reuse the existing signature view if found
cell.signatureView = existingSignature
print("Reusing existing signature view for row \(indexPath.row)")
// use the existing signature views array to draw the signature back again not png data
if let signatureData = existingSignature.pathArray as? [Any] {
cell.signatureView?.pathArray = signatureData as! NSMutableArray
}
} else {
if let signatureView = cell.signatureView {
// Save the new signature view in the array
signArray.append(Signatures(indexPath: indexPath.row, signatureViews: signatureView))
print("Stored new signature view for row \(indexPath.row)")
} else {
print("No signature view available for row \(indexPath.row)")
}
}
cell.btn_clear.tag = indexPath.row
cell.btn_clear.addTarget(self, action: #selector(editButtonPressed), for: .touchUpInside)
print("the new array count is \(signArray.count)")
return cell
}
struct Signatures {
var indexPath: Int?
var signatureViews: SamsoSignatureView?
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79488952/how-to-prevent-uitableview-cells-from-repeating-the-view-inside-it[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия