У меня ужасные проблемы с отображением пользовательского представления в UIViewController. Я новичок в iOS и не уверен, правильно ли я ограничиваю это.
У меня есть BaseTabBarController, который настраивает мои три вкладки и контроллеры, которые отлично работают. Это в моем MainFeedViewController, где у меня проблемы с ограничением моих пользовательских представлений. В настоящее время мой пользовательский вид отображается либо в левом верхнем углу устройства, либо при программной установке ограничений, как показано ниже, вид привязывается к правой стороне экрана, и когда устройство вращается, создается впечатление, что контроллер представления сохраняет свои Размер портрета в ландшафтном режиме.
Я сбит с толку и нуждаюсь в некоторых инструкциях по правильной настройке ограничений для центрирования вида.
Кроме того, я должен установить размер моего пользовательского представления в его Xib или он будет соответствовать размеру представления, установленному для контейнера в MainFeedViewController?
class MainFeedViewController: UIViewController {
@IBOutlet weak var articlePreview: ArticlePreviewView!
override func viewDidLoad() {
super.viewDidLoad()
setupView()
}
func setupView() {
view.backgroundColor = UIColor(named: "standardBackgroundColor")
articlePreview.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
articlePreview.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
articlePreview.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
articlePreview.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
}
}
class ArticlePreviewView: UIView {
@IBOutlet var contentView: UIView!
@IBOutlet weak var articleInfoContainer: UIView!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initSubviews()
}
override init(frame: CGRect) {
super.init(frame: frame)
initSubviews()
}
func initSubviews() {
let nib = UINib(nibName: "ArticlePreviewView", bundle: nil)
nib.instantiate(withOwner: self, options: nil)
addSubview(contentView)
contentView.frame = self.bounds
contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
setupViewTheme()
}
func setupViewTheme() {
contentView.backgroundColor = .blue
//articleInfoContainer.backgroundColor = .white
}
}