Ich verwende das Eureka-Framework und habe vor Kurzem Code hinzugefügt, um Rand-zu-Rand-Zelltrennzeichen zu ermöglichen. Damit müssen alle Formularelemente einen Rand definiert haben, andernfalls beginnen sie ganz links auf dem Bildschirm.So legen Sie Kopf- und Fußzeilenränder in Eureka fest, ohne benutzerdefinierte Klassen zu erstellen
Gibt es eine Möglichkeit, die linken/rechten Ränder der Sektion header/footer ähnlich einer Zelle anzupassen? Ich versuche zu vermeiden, benutzerdefinierte Klassen für jeden Abschnitt/Header-Titel zu verwenden.
Ich habe versucht, den Quellcode zu sehen, um zu sehen, wie die Ansicht erstellt wird, aber ich sehe nirgends, wo es die X-Koordinate oder links/rechts Ränder usw. definiert. Ich sehe auch keine Eigenschaften, die Ich könnte es schaffen, dies zu erreichen.
Jede Hilfe würde sehr geschätzt werden!
+++ Section(){section in
var footer = HeaderFooterView<UITableViewHeaderFooterView>(.Class)
footer.onSetupView = {view, _, _ in
view.preservesSuperviewLayoutMargins = false
view.layoutMargins.left = 50
view.layoutMargins.right = 50
view.contentView.preservesSuperviewLayoutMargins = false
view.contentView.layoutMargins.top = 10
view.contentView.layoutMargins.left = 50
view.textLabel?.text = "This is a test footer message."
view.textLabel?.layoutMargins.top = 10
view.textLabel?.font = UIFont.preferredFontForTextStyle("Footnote")
}
section.header = HeaderFooterView<ALogoView>(HeaderFooterProvider.Class)
section.footer = footer
}
Edit: Ich habe das oben versucht, aber es funktioniert nicht. Wenn Sie eine lange Zeichenfolge eingeben, wird sie in die Zeilen des übergeordneten Abschnitts verschoben.
Edit2: Ich habe kommen mit dem folgenden
class GenericHeader: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.preservesSuperviewLayoutMargins = false
let textView = UILabel()
textView.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width - 30, height: 20)
textView.text = "This is a very very very long title, This is a very very very long title, This is a very very very long title, This is a very very very long title, This is a very very very long title, This is a very very very long title Let's add some more stuff here to see how it handles."
textView.numberOfLines = 0
textView.textAlignment = .Justified
textView.font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
textView.textColor = UIColor(red:0.47, green:0.47, blue:0.49, alpha:1.0)
textView.frame = textView.bounds
textView.sizeToFit()
self.addSubview(textView)
//self.frame = CGRect(x: -15, y: -3, width: textView.bounds.width - 16, height: textView.bounds.height)
self.bounds = CGRect(x: -15, y: -3, width: textView.bounds.width - 16, height: textView.bounds.height)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Ich verwende in meiner Form:
+++ Section() {
$0.header = HeaderFooterView<GenericHeader>(HeaderFooterProvider.Class)
$0.footer = HeaderFooterView<GenericFooter>(HeaderFooterProvider.Class)
}
Wie kann ich entlang einer Zeichenfolge übergeben, wenn die Kopfzeile/Fußzeile Klassen werden instanziiert, so dass ich nicht eine Million verschiedene Klassen/Ansichten mit unterschiedlichem Text schreiben muss?
Hallo, habe es erklärt hat funktioniert? Haben Sie ein Beispielbild, wie es aussieht? Appreciate es – VAAA