Я создаю приложение с вкладками с 3-мя отдельными контроллерами представления (2 обычных представления, 1 представление таблицы), используя Swift 5 и Xcode 11. Внутри моего третьего представления (которое является представлением с таблицей) и внутри моего UITableViewCells, есть 1 кнопка, красного цвета. Я протестировал свою программу на 2 из моих тестирующих устройств, одно с большим экраном, а другое с небольшим экраном iPhone 5 с, и вот результаты, которые я получил:
iPhone с большим экраном (iPhone 6 Plus): все работает нормально, даже если я выберу UITableViewCell, элементы внутри него не исчезнут
iPhone 5s: если я не выберу UITableViewCell, все будет хорошо : Но если я выберу UITableViewCell, элементы внутри исчезнут:
Это мой контроллер uitableview:
import UIKit
@objcMembers class CustomViewController: UITableViewController {
var tag = 0
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
}
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
// 3
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
tag = tag + 1
let cell = tableView.dequeueReusableCell(withIdentifier: "themeCell", for: indexPath) as! ThemeCell
/////////
let cellButton = UIButton(frame: CGRect(x: 0, y: 5, width: 50, height: 30))
cellButton.translatesAutoresizingMaskIntoConstraints = false
cell.addSubview(cellButton)
cell.accessoryView = cellButton
cellButton.backgroundColor = UIColor.red
cellButton.leadingAnchor.constraint(equalTo: cell.leadingAnchor, constant: 10).isActive = true
cellButton.topAnchor.constraint(equalTo: cell.topAnchor, constant: 5).isActive = true
cellButton.widthAnchor.constraint(equalToConstant: 50).isActive = true
cellButton.heightAnchor.constraint(equalToConstant: 30).isActive = true
cell.img.image = UIImage(named: SingletonViewController.themes[indexPath.row])
cell.accessoryView = cellButton
cellButton.backgroundColor = UIColor.red
cellButton.addTarget(self, action: #selector(CustomViewController.backBTN(sender:)), for: .touchUpInside)
cellButton.tag = tag
return cell
}
}
Есть идеи, почему это происходит?