【问题标题】:Star Rating Control for iOS8 [closed]iOS8的星级控制[关闭]
【发布时间】:2015-02-05 23:44:20
【问题描述】:

在我的应用程序中,我必须实现星级控制,其中我必须保持浮点值意味着 fullselectedImage,halfselectedimage 也是。

我看过这个http://www.raywenderlich.com/1768/uiview-tutorial-for-ios-how-to-make-a-custom-uiview-in-ios-5-a-5-star-rating-view链接

但我无法修改一半选定图像的代码。

任何人都可以帮助我如何进行此控制。

【问题讨论】:

  • @MidhunMP,我已经看到了这些控件,但我没有对适当的浮点值进行任何控制,有些是旧的,对 iOS8 没有用处
  • 检查this, this
  • @FahimParkar,这取决于滑块值,但我想要为星星选择事件值。

标签: ios objective-c iphone ipad uiview


【解决方案1】:

如果你按如下方式修改“handleTouchAtLocation”,它将起作用。

  (void)handleTouchAtLocation:(CGPoint)touchLocation {
        if (!self.editable) return;

        float newRating = 0;
        for(int i = self.imageViews.count - 1; i >= 0; i--) {
            UIImageView *imageView = [self.imageViews objectAtIndex:i];
            CGFloat currentLocationX = touchLocation.x;
            if (currentLocationX > imageView.frame.origin.x) {
                if (touchLocation.x > imageView.frame.origin.x +imageView.frame.size.width) {
                    newRating = i+1;
                }
                else{
                    newRating = i+0.5;
                }
                break;
            }
        }

        self.rating = newRating;
    }

【讨论】:

  • 我已经使用了上面的代码,它的递增值 1 表示初始 i 我已经给出了 self.rateView.rating = 2.5;但是如果我点击星号,它应该增加 0.5,我的意思是步长间隔是 [0, 0.5,1, 1.5,2,...., 4.5,5]。我还需要添加什么吗?
  • 好的,滑动评分工作正常,对。问题在于你想要0.5增量。如果是这样你可以添加检查@ 0.5增量,如果self.rating = newRating,再加一个0.5。
  • 我没听明白,你能修改上面的代码具体修改哪里
  • 嘿,我修改了条件终于明白了,谢谢..
猜你喜欢
  • 1970-01-01
  • 2014-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多