2016-08-01 34 views
-2

Ich versuche, eine Rect, die mit der oberen rechten Ecke (X, Y) statt der üblichen oben links gezeichnet wird, zu machen. Ich habe versucht, um -1 zu skalieren, aber das hat die Arbeit nicht gemacht.IOS Rechteck mit oberer rechter Ecke zeichnen

Ich brauche es, weil ich eine App für RTL Gebietsschema entwickle.

+1

Ihre Frage recht vage ist, versuchen um besser zu erklären, was du erreichen willst oder poste etwas von deinem Code – Eilon

+0

Nun, momentan wird jedes Rect von der oberen linken Ecke nach links gezogen. Ich möchte den gleichen Effekt, nur das Rect von seiner oberen rechten Ecke nach links ziehen. –

+0

Wenn ich es richtig verstanden habe, ist es in 'UIKit' nicht möglich. Aber es gibt sicher Workarounds, Post, was Sie tatsächlich erreichen müssen und wir könnten Ihnen helfen. – Eilon

Antwort

0

Wenn Sie automatisches Layout verwenden, können Sie die führenden und nachgestellten Einschränkungen (anstelle der linken und rechten Einschränkungen) verwenden und die Animation wird automatisch an die Zielsprache angepasst. Betrachten wir zum Beispiel die folgende vereinfach Demo, die einen „Vorhang“ Ansicht überlagert und dann zwei Sekunden später „zieht es zur Seite“ durch die abfallende Einschränkung Animieren:

let curtain = UIView() 
curtain.backgroundColor = .darkGrayColor() 
curtain.translatesAutoresizingMaskIntoConstraints = false 
view.addSubview(curtain) 

let trailingConstraint = curtain.trailingAnchor.constraintEqualToAnchor(view.trailingAnchor) 

NSLayoutConstraint.activateConstraints([ 
    curtain.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor), 
    curtain.topAnchor.constraintEqualToAnchor(view.topAnchor), 
    curtain.bottomAnchor.constraintEqualToAnchor(view.bottomAnchor), 
    trailingConstraint 
]) 

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) { 
    trailingConstraint.constant = -self.view.bounds.size.width 
    UIView.animateWithDuration(0.5) { 
     self.view.layoutIfNeeded() 
    } 
} 

Wenn Lokalisierung Ihres Projekts eine LTR Sprache ist, es belebt das Zurückziehen dieses "Vorhangs" von der rechten Kante.

Aber wenn Sie Projekt Lokalisierung eine RTL Sprache ist, wie unten gezeigt, dann wird es das Ziehen dieses „Vorhang“ von der linken Kante animieren:

enter image description here

+0

Ich werde Ihre Lösung mit @Eilon versuchen, und ich denke, dass dies mein Problem lösen wird. Werde Dich auf dem Laufenden halten. –