Also im Grunde, ich habe eine UITextView
, die ich möchte in meiner Mitte zentriert UIView
. Hier ist meine Ansicht Controller-Code unten:Center Storyboard Ansichten in Autolayout
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)
}
}
ich die Opazität meiner Hintergrundansicht auf 50% zu ändern und die Textview auf eine Hintergrundfarbe blau, aber wenn ich diese laufen, der blaue Hintergrund ist gut innerhalb der UIView, wie 10 Pixel auf der einen Seite und 20 auf der anderen Seite. Ich bin mir nicht sicher warum.
Ich habe es im Storyboard eingerichtet, und cnt-zog es an, und änderte dann die Eigenschaften der Ansichten in viewDidAppear, um das Storyboard zu überschreiben.
Auch habe ich versucht, Dinge wie tun:
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)
}
Und bekam sagen einen seltsamen Fehler, dass die Layoutbeschränkungen ein Problem mit wurden.
Wäre es einfacher, die Höhe und Breite der Ansicht sowie den Startpunkt separat festzulegen? Wenn ja, wie kann ich so etwas wie dieses Pseudo-Code tun:
topBar.startingPoint = (x,y)
topBar.height = this
topBar.width = this
usw.
Warum sind Sie nicht die Anwendung Einschränkungen in stroryboard ??: Ausgezeichnet Tutorials können raywenderlich.com finden –
Ich wurde gebeten, es so programmatisch wie möglich zu tun und Storyboard so weit wie möglich zu vermeiden. – dnaland
Bitte verwenden Sie Auto-Layout oder es wird ein Chaos für Sie zu handhaben.Ich weiß nicht, ob es Ihre Projekt-Anforderung nicht Auto-Layout verwenden oder jemand sagte Ihnen.Wenn jemand erzählt, als ich Ihnen aus Erfahrung sagen, ist es die falsche Richtung, die Sie sind folgende –