2016-08-16 7 views
0

Ich implementiere eine Ansicht, die viele Informationen anzeigt. Die Ansicht ist scrollbar und innerhalb der Ansicht habe ich eine nicht scrollbare Tabellenansicht implementiert, die Benutzerkommentare enthält. Ich habe alle Auto-Layout-Einschränkungen und es scheint Layout richtig, aber Berührungen sind nicht unterhalb einer bestimmten Zeile erhalten. Es scheint, dass die Tabellenansicht oder etwas die folgenden Ansichten davon blockiert, die Ereignisse zu empfangen, aber ich kann das Problem nicht aufspüren.UITableViewCell empfängt keine Berührungen

Ich möchte die Inhaltsgröße der Hauptscrollansicht vergrößern, wenn die Ansicht der Kommentartabelle wächst. Die Kommentaransicht am unteren Ende der Tabellenansicht beibehalten. Momentan kann ich die letzte Zelle oder das Textfeld nicht auswählen.

Kommentar Handy anzeigen Comment Cell View

Simulator Screenshot Simulator screenshot

Hier ist der Code aus der Tabellenansicht Umsetzung:

commentsTableView.delegate = self 
    commentsTableView.dataSource = self 
    commentsTableView.estimatedRowHeight = 82 
    commentsTableView.rowHeight = UITableViewAutomaticDimension 
    commentsTableView.sectionHeaderHeight = UITableViewAutomaticDimension 
    commentsTableView.estimatedSectionHeaderHeight = 54 
    commentsTableView.estimatedSectionFooterHeight = 0 
    commentsTableView.sectionHeaderHeight = UITableViewAutomaticDimension 
    commentsTableView.tableFooterView = UIView(frame: CGRectZero) 


func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 
    return "Comments" 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return comments.count 
} 

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
    if section != 0 { return nil } 

    let sectionTitle: String = self.tableView(tableView, titleForHeaderInSection: section)! 
    if sectionTitle == "" { 
     return nil 
    } 

    let view = UIView(frame: CGRectMake(0, 0, tableView.frame.width, 54)) 
    let title = UILabel(frame: CGRectMake(60, 22, tableView.frame.width, 17)) 
    view.addSubview(title) 

    title.text = sectionTitle 
    title.textColor = UIColor(red: (74/255), green: (74/255), blue: (74/255), alpha: 1.0) 
    title.backgroundColor = UIColor.clearColor() 
    view.backgroundColor = UIColor.clearColor() 
    title.font = UIFont(name: "ProximaNova-Semibold", size: 16.0) 

    view.layer.addBorder(.Bottom, color: UIColor.lightGrayColor().colorWithAlphaComponent(0.75), thickness: 0.5) 
    title.setNeedsDisplay() 
    view.setNeedsDisplay() 

    return view 
} 
+0

Sind fügen Sie didselect Funktion für die Tabellenansicht? –

Antwort

0

Sie haben die userInteractionEnabled auf true zu setzen, diese Ereignisse zu feuern .

0

Das Textfeld KommentarField ist die letzte Zeile Ihres Kommentars TableView. So setzen Kommentar TextField- Code in der Fußzeile des Tableview wie folgt:

func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { 
     let commentTextFieldView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 50)) 

     // Your Comment TextField code 

     return commentTextFieldView 
    } 

    func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { 
     return 50.0 
    } 

There ist eine andere Art Kommentar TextField- Ansicht als Tableview Fußzeile zuweisen:

myTableView.tableFooterView = commentTextFieldView