ios 绘制右上角的矩形

ios draw rectangle with top right corner

我正在尝试制作一个使用右上角 (x,y) 而不是通常的左上角绘制的矩形。我尝试按 -1 进行缩放,但这并没有起作用。

我需要它,因为我正在为 RTL 语言环境开发应用程序。

如果您使用自动布局,您可以使用前导和尾随约束(而不是左右约束),动画将自动针对目标语言进行调整。例如,考虑以下覆盖 "curtain" 视图的简单演示,然后在两秒后 "pulls it aside" 通过动画尾随约束:

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 语言,它将动画化此 "curtain" 从右边缘向后拉。

但是如果您的项目的本地化是一种 RTL 语言,如下所示,那么它将以动画方式从左边缘拉动此 "curtain":