2016-08-01 77 views
-2

我想使用它的右上角(x,y)绘制矩形,而不是通常的左上角。我试着用-1进行缩放,但那并没有完成这项工作。ios绘制右上角的矩形

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

+1

你的问题是相当模糊,尝试以更好地解释你想要达到的目标或发布一些代码 – Eilon

+0

那么,目前每个矩形都是从左上角向左侧绘制的。我只想从左上角的右上角画出矩形,效果相同。 –

+0

如果我的理解正确,那么在'UIKit'中是不可能的。但是肯定有解决办法,发布你实际需要达到的内容,我们可以帮助你。 – Eilon

回答

0

如果使用自动布局,则可以使用前后约束(而不是左右约束),并且动画会自动针对目标语言进行调整。例如,考虑下面的简单演示的是覆盖了“帷幕”视图,然后,两秒钟之后由动画拖尾约束“拉它放在一边”:

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试试你的解决方案,我认为这将解决我的问题。将更新。 –