Первая создать расширение для обнаружения которой iPhone работает приложение:
extension UIDevice {
var iPhone: Bool {
return UIDevice().userInterfaceIdiom == .phone
}
enum ScreenType {
case iPhone4
case iPhone5
case iPhone6
case iPhone6Plus
case unknown
}
var screenType: ScreenType {
guard iPhone else { return .unknown }
switch UIScreen.main.nativeBounds.height {
case 960:
return .iPhone4
case 1136:
return .iPhone5
case 1334:
return .iPhone6
case 2208:
return .iPhone6Plus
default:
return .unknown
}
}
}
Затем, в лету ур контроллер, связать Tableview делегата, если вы не сделали это еще:
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}
Реализовать метод делегата, как так, чтобы отрегулировать высоту ячейки в зависимости от типа iphone:
extension YourViewController: UITableViewDelegate {
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
switch UIDevice().screenType {
case .iPhone4:
return 40
default:
return 60
}
}
}
вы используете UITableViewController или UIViewController с табличным представлением, которое вы положили туда сами? – Ocunidee
@Ocunidee Я использую табличное представление, которое я вложил в себя. – askaale
вы можете показать изображение ограничений, которые вы вкладываете в раскадровку или если вы сделали по коду, фрагменты? – Ocunidee