2016-07-14 10 views
0

Ich habe eine TableVC in einen Container eingebettet. Die Breite des Containers, der auf einem iPhone5 ausgeführt wird, ist 320. Die Breite von dem ContentView in der TableView-Zelle ist jedoch 600. Wie kann ich sie übereinstimmen lassen? (+/- Auffüllen). Fehle ich eine Einschränkung? Ich habe auch versucht, setNeedsLayout() und layoutSubViews() in CellForRowAtIndexPath und in der benutzerdefinierten Zellen Unterklasse, aber dies scheint auch nicht zu funktionieren.Breite der UITableView-Inhaltsansicht stimmt nicht überein Container

Im Bild unten, möchte ich die Breite des dunkelgrau die hellgrau passen (+ - padding)

Jede Hilfe sehr geschätzt .....

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let cell = tableView.dequeueReusableCellWithIdentifier("EventCell") as! CustomResultsTVCell 

    //  cell.setNeedsLayout() 
    //  cell.layoutSubviews() 
    //  cell.layoutIfNeeded() 

    let barViewWidth = Float(cell.barView.frame.width) 
    print("barview width is \(barViewWidth)") 
// prints 584 

    let contentViewWidth = cell.myContentView.frame.width 
    print("contentView width is \(contentViewWidth)") 
// prints 600 

Die CustomCell Klasse ist

import Foundation 
import UIKit 

class CustomResultsTVCell: UITableViewCell { 

@IBOutlet weak var myContentView: UIView! 
@IBOutlet weak var barView: UIView! 

override func awakeFromNib() { 
    super.awakeFromNib() 

//  super.layoutSubviews() 
//  setNeedsLayout() 
//  layoutSubviews() 
    layoutIfNeeded() 
} 

xcode

+0

Hallo RichC, zeigen Ihnen die Einschränkung Ihrer 'containerView' und' tableView' auch? Ich habe gerade einen Check und Setup mit Einschränkungen, die ich erwartet hatte und es funktioniert. Wenn ich jedoch die Beschränkung für "containerView" oder "tableView" lösche, ergibt sich eine Breite von 600. Also bin ich mir ziemlich sicher, dass eine der Einschränkungen entweder nicht gesetzt ist oder falsch ist. –

+0

Hallo Zac, der UITableViewController hat keine Einschränkungen gesetzt, wie ich denke, dass er von der ContainerView erbt. Wie setzen Sie Einschränkungen für das UItableViewC? – richc

+0

Oh, mein Fehler, ich versuche es auf einem 'tableView' in einem' UIViewController'. Allerdings kann ich dieses Mal mit einem 'UITableViewController' einbetten. Die Breite ist korrekt. Können Sie Ihre ConterView-Einschränkung anzeigen? –

Antwort

0

können Sie überprüfen Eigentum Ihrer führenden und abschließende Einschränkungen. Stellen Sie sicher, dass die Markierung relativ zum Rand für den ersten und den zweiten Eintrag deaktiviert ist.

siehe angehängte Screenshots, wenn es Ihnen hilft.

Hoffe, dies wird Ihnen helfen, Ihr Problem zu beheben.

enter image description here

enter image description here

xcode screenshot

+0

danke Kuntal. Ich habe getan, was Sie vorschlagen, aber das Problem bleibt bestehen. Die TableViewCell-Breite beträgt immer noch 600 und muss bei 320 identisch mit dem Container sein. Haben Sie noch weitere Ideen? – richc

+0

Hast du auch konstant 0 gemacht? ist es möglich, mir screenshot erneut zu senden? –

+0

Möchten Sie die Zellenbreite aus bestimmten Gründen? –

Verwandte Themen