反转 CGRect - Swift
Posted
技术标签:
【中文标题】反转 CGRect - Swift【英文标题】:Reversing CGRect - Swift 【发布时间】:2018-06-05 19:51:55 【问题描述】:如何撤销我的origin.x
?我的origin.x
从右边开始我想从左边开始。例如,我的应用程序中 x 的这些来源是从最右边开始的:
1) 351.0
2) 304.0
3) 257.0
4) 210.0
5) 163.0
6) 116.0
7) 69.0
8) 22.0
我怎样才能扭转这些起源,从 22.0 开始,到 351.0 结束?
代码:
var ansWithoutSpaces = String()
ansWithoutSpaces = answersString.replacingOccurrences(of: " ", with: "")
var targetHeigt = CGFloat()
let viewWidth = self.view.frame.size.width
if viewWidth == 320
targetHeigt = 2.5
else
targetHeigt = 5
let yAxis : Int = Int((self.view.frame.height) * 60%)
let lenghtOfChar = ansWithoutSpaces as NSString
// char count
let width: Int = Int(view.frame.size.width) - 40
// frame width
var targetWidth: Int = (width - (lenghtOfChar.length - 1) * 5) / lenghtOfChar.length
if targetWidth > 50
if viewWidth == 320
targetWidth = 38
else if viewWidth == 375
targetWidth = 45
else
targetWidth = 50
let totalWidth: Int = (targetWidth * lenghtOfChar.length) + ((lenghtOfChar.length - 1) * 5)
for x in 0..<ansWithoutSpaces.count
let xAxis: Int = (width / 2) - (totalWidth / 2) + (x * targetWidth) + (x * 5) + 20
let targetLabel = UILabel(frame: CGRect(x: CGFloat(xAxis), y: CGFloat(yAxis), width: CGFloat(targetWidth), height: targetHeigt))
...
【问题讨论】:
更改用于xAxis
的公式。那是你要的吗?有什么问题?
尝试将您的来源插入一个数组,然后您可以使用 array.reverse 以相反的顺序获取它们。
是的,我想反转xAxis
@rmaddy
我该怎么做? @HAK
你可以尝试在for x in (0..<ansWithoutSpaces.count).reversed()
那里反转你的最后一个for循环
【参考方案1】:
for arrayIndex in stride(from: ansWithoutSpaces.count - 1, through: 0, by: -1)
x = ansWithoutSpaces[arrayIndex]
【讨论】:
【参考方案2】:@Nordeast 解决了它:
for x in (0..<ansWithoutSpaces.count).reversed()
...
【讨论】:
以上是关于反转 CGRect - Swift的主要内容,如果未能解决你的问题,请参考以下文章