Swift 4反向更改UIView的高度



我想构建一个progressbar。我取了一个矩形视图(progressBarBckgr(,并在它前面放了另一个视图(progessBar(。

前面的那个应该通过在问答应用程序中点击正确答案来增加高度。

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

最新更新