Так что, в основном, у меня есть UITextView
, что я хочу сосредоточиться на своем UIView
. Вот мой взгляд контроллер код ниже:Центр раскадровки Просмотров в автостраде
import UIKit
class OpeningScreenViewController: UIViewController {
@IBOutlet weak var topBarUIView: UIView!
@IBOutlet weak var topViewTextView: UITextView!
override func viewDidAppear(animated: Bool) {
let superViewWidth = view.frame.size.width
let superViewHeight = view.frame.size.height
//creating the top bar
topBarUIView.frame = CGRect(x: 0, y: 0, width: superViewWidth, height: superViewHeight * 0.1)
topBarUIView.backgroundColor = UIColor.grayColor().colorWithAlphaComponent(0.5)
//adding text to the top bar
topViewTextView.frame = CGRectMake(0, 0, superViewWidth, superViewHeight * 0.1)
topViewTextView.backgroundColor = UIColor.blueColor()
topViewTextView.text = "Hello World"
topViewTextView.textAlignment = NSTextAlignment.Center
topViewTextView.font = UIFont(name: "Arial", size: 24)
}
}
изменить непрозрачность моего фона зрения на 50% и TextView на цвет фона синий, но когда я запускаю это, синий фон находится в пределах UIView, как 10 пикселов с одной стороны, а 20 - с другой. Я не знаю, почему.
Я установил его в раскадровке, а cnt-перетащил его, а затем изменил свойства просмотров в viewDidAppear, чтобы переопределить раскадровку.
Также я пытался делать такие вещи, как:
override func viewDidAppear(animated: Bool) {
// Get the superview's layout
let margins = view.layoutMarginsGuide
// Pin the leading edge of myView to the margin's leading edge
topBarUIView.leadingAnchor.constraintEqualToAnchor(margins.leadingAnchor).active = true
// Pin the trailing edge of myView to the margin's trailing edge
topBarUIView.trailingAnchor.constraintEqualToAnchor(margins.trailingAnchor).active = true
// Give myView a 1:2 aspect ratio
topBarUIView.heightAnchor.constraintEqualToAnchor(topBarUIView.widthAnchor, multiplier: 2.0)
}
И получил странную ошибку о том, что ограничения макета были возникли проблемы.
Было бы проще установить высоту, ширину и начальную точку зрения отдельно? Если да, то как я могу сделать что-то вроде этого псевдокода:
topBar.startingPoint = (x,y)
topBar.height = this
topBar.width = this
т.д.
Почему вы не подаете ограничений в stroryboard ?? –
Меня попросили сделать это как можно более программно, и я старался избегать раскадровки. – dnaland
Просьба использовать автозапуск или это будет беспорядок для вас, чтобы обращаться. Я не знаю, если его требование к проекту не использовать автозапуск, или кто-то сказал вам. Если кто-то сказал, что я рассказываю вам по опыту, это неправильное направление, которое вы следуют –