У меня есть экземпляр UIView в Swift, к которому я добавляю подпредставление экземпляра UIImageView, но не могу добавить ограничение к экземпляру UIImageView без сбоя моего приложения.
Я попытался написать SwiftКод 5.0 в Xcode 10.2 и iOS 12.2 для установки ограничения на то, чтобы передний край экземпляра UIImageView находился на расстоянии 50 от левого края экземпляра UIView.
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let sectionHeaderView : UIView = UIView()
let sectionHeaderImage: UIImage = UIImage(named: "Flag - ENGLAND.png")!
let sectionHeaderImageView : UIImageView = UIImageView(image: sectionHeaderImage)
sectionHeaderImageView.translatesAutoresizingMaskIntoConstraints = false
let imageViewWidthConstraint : NSLayoutConstraint = NSLayoutConstraint(item: sectionHeaderImageView, attribute: .width, relatedBy: .equal, toItem: sectionHeaderImageView, attribute: .width, multiplier: 0.0, constant: 40)
imageViewWidthConstraint.isActive = true
sectionHeaderImageView.addConstraint(imageViewWidthConstraint)
let imageViewHeightConstraint : NSLayoutConstraint = NSLayoutConstraint(item: sectionHeaderImageView, attribute: .height, relatedBy: .equal, toItem: sectionHeaderImageView, attribute: .height, multiplier: 0.0, constant: 40)
imageViewHeightConstraint.isActive = true
sectionHeaderImageView.addConstraint(imageViewHeightConstraint)
let imageViewLeadingConstraint : NSLayoutConstraint = NSLayoutConstraint(item: sectionHeaderImageView, attribute: .leading, relatedBy: .equal, toItem: sectionHeaderView, attribute: .left, multiplier: 1.0, constant: 50)
imageViewLeadingConstraint.isActive = true
sectionHeaderImageView.addConstraint(imageViewLeadingConstraint)
return sectionHeaderView
}
Я ожидаю, что экземпляр UIView содержит экземплярUIImageView должен быть расположен 50 справа от экземпляра UIView.Вместо этого приложение вылетает в XCode с сообщением об ошибке «Thread 1: signal SIGABRT» в файле AppDelegate.swift.