Richtig zurückgegeben UIView in viewForHeaderInSection iOS 8 swift
Ich bin ziemlich neu in swift Sprache und der iOS-Entwicklung als ganzes, so bitte entschuldigen Sie mich für meinen Mangel an grundlegenden Kenntnissen. Bisher habe ich versucht und erfolgreich Umgesetzt mehrere abgeteilte UITableView benutzerdefinierte Abschnitte, indem Sie eine xib-Datei erstellen TableViewCell und dann laden Sie es in meine Haupt-ViewController und er es als codierte unten:
var customView = NSBundle.mainBundle().loadNibNamed("CustomHeader",owner: self, options: nil)[0] as? UIView
return customView
Aber seit ich angefangen habe, immer "no index-Pfad für die Tabelle Zelle wiederverwendet" ich ging zurück zum Zeichenbrett und versucht, Dinge zu tun, die programmgesteuert erstellen einer UIView und zurück, bisher bin ich erfolglos geblieben sind allerdings das ist, was ich codiert:
func tableView(tableView: UITableView!, viewForHeaderInSection section: Int) -> UIView!{
if(section == 0) {
var view = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 50))
var label = UILabel(frame: CGRectMake(0,0, tableView.frame.size.width/2, 20))
label.text="My Details"
let button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.frame = CGRectMake(0, 0, tableView.frame.size.width/2, 20)
button.addTarget(self, action: "visibleRow", forControlEvents:.TouchUpInside)
label.setTranslatesAutoresizingMaskIntoConstraints(false)
button.setTranslatesAutoresizingMaskIntoConstraints(false)
let views = ["label": label,"button":button,"view": view]
var horizontallayoutContraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|-10-[label(20)]-60-[button(20)]-10-|", options: NSLayoutFormatOptions(0), metrics: nil, views: views)
view.addConstraints(horizontallayoutContraints)
return view
}
...
Wie Sie sehen können ich bin versucht, ein layout erstellen, wo ich will, dass mein label und button horizontal ausgebreitet, aber irgendwie die Logik nicht funktioniert ich habe versucht, das deaktivieren autoresize Einschränkungen für Sicht selbst, aber das hat auch nicht gut geklappt. Bitte Um Hilfe!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie nie Hinzugefügt, Ihr label oder button "Ansicht". Auch Ihre Größen nicht sinnvoll -- legen Sie die Breite der Beschriftung und Knopf zu 1/2 der Breite der Tabelle anzuzeigen, aber dann in Ihre Einschränkungen, die Sie haben 80 Punkte Wert, der Räume, so dass nicht funktionieren kann. In jedem Fall sollten Sie NICHT legen Sie Rahmen, wenn Sie verwenden Sie auto-layout". Diejenigen loswerden, und fügen Sie eine vertikale Beschränkung auf entweder die Bezeichnung oder die Taste, und eine layout-option, um Sie vertikal auszurichten. Auch, müssen Sie Ihr label und button zur Ansicht (und es tun, bevor Sie hinzufügen der constraints). So etwas sollte funktionieren,