用png图像建立评价

时间:2018-06-24 03:48:24

标签: ios swift

由于无法使用表情符号或unicode提供半星图像,因此我决定按以下方式下载png格式的全星和半星图像。

enter image description here

enter image description here

但是,我坚持要用这两个图像来提高速度。

我想显示3.5星。有可能还是有简单的方法?

我可以将5个图像视图彼此相邻并根据等级设置每个图像视图,但这听起来不是有效的处理方式。

1 个答案:

答案 0 :(得分:1)

我正在手机上写这篇文章,所以这可能不是最好的方法,但是您可以改进它。

let stars = 3.5

let stackView = UIStackView()
//setup horizontal stackView

let oneStarImage = UIImage(named: "oneStar")
let halfStarImage = UIImage(named: "halfStar")

func addStarImages() {
    var value = stars
    while true {
        value -= 1
        if value >= 0 {
            print("Add 1 star")

            let imageView = UIImageView()
            imageView.image = oneStarImage

            stackView.addArrangedSubview(imageView)

        } else if value == -0.5 {
            print("Add half a star")

            let imageView = UIImageView()
            imageView.image = halfStarImage

            stackView.addArrangedSubview(imageView)
            break
        }
        else {
            break
        }
    }
}

// Add 1 star
// Add 1 star
// Add 1 star
// Add half a star