2016-08-01 13 views
-2

通常の左上の代わりに右上隅(x、y)を使用して描画されるrectを作成しようとしています。私は-1でスケーリングしようとしましたが、それは仕事をしませんでした。右上隅にios描画の矩形

私はRTLロケールのアプリを開発しているので、必要です。

+1

あなたの質問は非常に曖昧である、してみてくださいあなたが達成しようとしているもの、またはコードの一部を投稿しようとしているものをより良く説明するために – Eilon

+0

現在、すべての四角形は、左上隅から左に描画されています。私はそれが右上隅から左にrectを描くだけ同じ効果が欲しいです。 –

+0

私が正しく理解していれば、それは 'UIKit'では不可能です。しかし、確かに回避策があり、達成するために実際に必要なものを掲示し、私たちはあなたを助けることができます。 – Eilon

答えて

0

自動レイアウトを使用する場合は、左および右の制約ではなく、先行および後続の制約を使用することができ、アニメーションは自動的にターゲット言語に合わせて調整されます。たとえば、「カーテン」ビューを重ね、その後、2秒後に、末尾の制約をアニメーションによって「それを脇に引っ張る」次の単純なデモを考慮してください。

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() 
    } 
} 

プロジェクトのローカライズがLTR言語である場合、それはこの「カーテン」の右端からの引き戻しをアニメートします。

しかし、あなたのプロジェクトのローカライズは、以下に示すように、RTL言語であるならば、それは左端から、この「カーテン」の引き上げをアニメーション化します:

enter image description here

+0

私は@ Eilonであなたの解決策を試してみるが、これは私の問題を解決すると思う。更新されます。 –