iOS中的星星評分功能視圖實現


iOS在做APP是會用到星星評分的一個視圖,在網上也能找到一些相關代碼,這裏使用 SWStarRateView 

在 https://github.com/wangchaoIOS/StarRatingView上可以下載到。

但是再看了網上一些人寫的,基本是一個模子出來的,但是這個類少了一個屬性--是否可點擊

因爲有的地方需要評分功能,而有的地方只需要顯示評分的結果。所以在這裏寫出修改的地方。


在.h文件中加入一個屬性

@property (nonatomic, assign) BOOL allowTouch;//是否允許點擊,默認爲yes

在.m文件中,在手勢的地方判斷一下是否可以點擊來評分的allowTouch值就可以了

- (void)userTapRateView:(UITapGestureRecognizer *)gesture {

    

    if (!_allowTouch) {

        return;

    }

    CGPoint tapPoint = [gesture locationInView:self];

    CGFloat offset = tapPoint.x;

    CGFloat realStarScore = offset / (self.bounds.size.width / self.numberOfStars);

    CGFloat starScore = self.allowIncompleteStar ? realStarScore : ceilf(realStarScore);

    self.scorePercent = starScore / self.numberOfStars;

}


效果如下圖:









發佈了85 篇原創文章 · 獲贊 20 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章