2016-12-08 15 views
0

Ich möchte eine Zeile in der Mitte einer UIView positionieren.Suchen x Position von UIView in einer Tabellenansicht Zelle

the line is not at the centre of my icon

override func draw(_ rect: CGRect) { 
    if let anchor = anchorView(){ 
     print("Anchor x origin : \(anchor.bounds.origin.x)") 
     anchor.backgroundColor = UIColor.blue 
     timeline.start = CGPoint(x: anchor.bounds.origin.x + anchor.frame.width/2 , y: 0) 
     timeline.middle = CGPoint(x: timeline.start.x, y: anchor.frame.origin.y) 
     timeline.end = CGPoint(x: timeline.start.x, y: self.bounds.size.height) 
     timeline.draw(view: self.contentView) 
    }else{ 
     print("this should not happen") 
    } 
} 

I x-Position der UIView bin immer gleich Null

+0

können Sie x po einstellen Position der Zeile wie yourview.frame.size.origin.x + yourview.frame.size.width/2 –

+0

Ich bekomme diesen Fehler: "Wert des Typs CGSize hat kein Mitglied 'Herkunft' –

Antwort

1

UIView ‚s func convert(_ point: CGPoint, to view: UIView?) -> CGPoint könnte sein, was Sie brauchen:

let centerRelativeToTableView = anchor.superview!.convert(anchor.center, to: tableView) 

Dann können Sie verwenden centerRelativeToTableView.x

+0

danke .. Es hat funktioniert ... :) –

Verwandte Themen