Swift 4 反向改变一个UIView的高度
Swift 4 reverse change height of a UIView
我想建立一个进度条。我取了一个矩形视图(progressBarBckgr)并在它前面放了另一个(progressBar)。
前面的那个应该通过在测验应用程序中点击正确答案来增加高度。
func updateUI () {
let numberOfAllQuestions = allQuestion.questionList.count
print(numberOfAllQuestions) //prints 3
let progressBarBckgrHeight = progressBarBckgr.frame.size.height
let progressBarBckgrHeightInt = Int(progressBarBckgrHeight)
let progressBarBckgrHeightPiece = progressBarBckgrHeightInt / numberOfAllQuestions
progressBarOutlet.frame.size.height = (progressBarBckgr.frame.height) + CGFloat (progressBarBckgrHeightPiece)
}
因此,每点击一个正确的答案,进度条就会增加,直到测验结束时,整个背景进度条都会被覆盖。
示例:
10 个问题
-> 单击答案填充会增加进度条的高度 1/10
除此之外,我想增加从底部到顶部的栏。当我输入 属性 高度来增加它时,它只会在底部方向变大。有什么好的转机技巧吗?
谢谢!!!
您还需要将视图向上移动您增加的高度 (progressBarBckgrHeightPiece
)
此外,您应该直接设置frame
。
progressBarOutlet.frame = CGRect(x: progressBarOutlet.frame.origin.x,
y: progressBarOutlet.frame.origin.y - progressBarBckgrHeightPiece, // Notice here
width: progressBarOutlet.frame.width,
height: progressBarOutlet.frame.height + CGFloat(progressBarBckgrHeightPiece))
我想建立一个进度条。我取了一个矩形视图(progressBarBckgr)并在它前面放了另一个(progressBar)。
前面的那个应该通过在测验应用程序中点击正确答案来增加高度。
func updateUI () {
let numberOfAllQuestions = allQuestion.questionList.count
print(numberOfAllQuestions) //prints 3
let progressBarBckgrHeight = progressBarBckgr.frame.size.height
let progressBarBckgrHeightInt = Int(progressBarBckgrHeight)
let progressBarBckgrHeightPiece = progressBarBckgrHeightInt / numberOfAllQuestions
progressBarOutlet.frame.size.height = (progressBarBckgr.frame.height) + CGFloat (progressBarBckgrHeightPiece)
}
因此,每点击一个正确的答案,进度条就会增加,直到测验结束时,整个背景进度条都会被覆盖。
示例: 10 个问题 -> 单击答案填充会增加进度条的高度 1/10
除此之外,我想增加从底部到顶部的栏。当我输入 属性 高度来增加它时,它只会在底部方向变大。有什么好的转机技巧吗?
谢谢!!!
您还需要将视图向上移动您增加的高度 (progressBarBckgrHeightPiece
)
此外,您应该直接设置frame
。
progressBarOutlet.frame = CGRect(x: progressBarOutlet.frame.origin.x,
y: progressBarOutlet.frame.origin.y - progressBarBckgrHeightPiece, // Notice here
width: progressBarOutlet.frame.width,
height: progressBarOutlet.frame.height + CGFloat(progressBarBckgrHeightPiece))