Ich versuche, eine UITableViewController
mit einem XIB, kein Storyboard zu verwenden und den Standardstil zu verwenden: UITableViewCellStyleDefault
. Ich möchte den Standard imageView
's cornerRadius
auf die imageView
' s Breite/2, aber während cellForRowAtIndexPath()
der imageView
ist 0,0,0,0.Wie bekomme ich die Bildgröße der Bildansicht während CellForRowAtIndexPath?
Ich erinnere mich irgendwo lesen, dass der Rahmen nicht aktualisiert wird, bis es der Unteransicht hinzugefügt wird.
Wie bekomme ich die imageView.frame.size.width
? Die UITableView
zeigt die Zeilen richtig, aber die cornerRadius
ist 0.
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("ContactCell", forIndexPath: indexPath)
// Set Image
cell.imageView?.image = UIImage.init(imageLiteral: "\(indexPath.row).jpg")
// FOLLOWING DOESNT WORK imageView is 0,0,0,0
cell.imageView?.layer.cornerRadius = cell.imageView!.frame.size.width/2
cell.imageView?.clipsToBounds = true
cell.imageView?.layer.masksToBounds = true
// Set Label
let name:String = contactsArray![indexPath.row] as! String
cell.textLabel!.text = name
return cell
}
Wundern Sie sich nur, haben Sie Ihrem imageView ein Platzhalterbild oder eine Höhen-/Breitenbeschränkung gegeben? – Happiehappie
Nein. Da dies in einem XIB ist, kann ich keine Prototypzellen verwenden und verwende auch keine benutzerdefinierte Zelle XIB. Alles, was ich getan habe, war die Registrierung der Standard-UITableViewCell in viewDidLoad: tableView.RegisterClass (UITableViewCell.self, forCellReuseIdentifier: "ContactCell"). Nichts in der XIB getan, vor allem weil ich CANT, da es ein XIB ist kein Storyboard. Ich muss wahrscheinlich nur meine eigene UITableViewCell erstellen und einige Standardwerte angeben. – KevinS
Ich habe noch nie 'UIImage.init (imageLiteral: "\ (indexPath.row) .jpg") '' verwendet, ich benutze immer 'UIImage (name:" \ (indexPath.row) .jpg ")', läuft es? –