【问题标题】:Anyone know whether there is a 5-star rating component on iPhone?有人知道 iPhone 上是否有 5 星评级组件吗?
【发布时间】:2023-03-04 11:24:01
【问题描述】:

在 Google 群组和其他一些网站中,有一个非常简洁的 5 星评级组件,例如在这个网址中: http://groups.google.com/group/Google-Picasa-Data-API/browse_thread/thread/b5a346e6429a70a7?hl=en

我想知道 iPhone 环境中是否存在现有的 5 星评级组件。或者如果没有,是否有人知道从哪里开始?

谢谢

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    这是另一个开源解决方案:https://github.com/dlinsin/DLStarRating

    【讨论】:

      【解决方案2】:

      UIView 允许您构建 Rating 组件以提供与 iPhone 上的 AppStore 或 Youtube 应用程序相同的体验。

      http://code.google.com/p/s7ratingview/

      【讨论】:

      【解决方案3】:

      我会更简单。继承 UIControl 并实现 touchesBegan: touchesMoved: 和 touchesEnded: 方法。您可以通过触摸的 X 坐标确定用户按下/拖动/放开哪个星。例如:

      CGFloat relativeTouchLocation = [event locationInView:self] / self.bounds.size.width;
      

      然后由您决定根据该值点亮哪些星星。哦,发送一个 UIControlEventValueChanged 事件。

      显然,您还重写了 drawRect: 以在视图中绘制星星。

      虽然上面 Jason 的解决方案可行,但您的用户将无法在控件上滑动手指来微调她的评分。这也可以让您选择进行半星或其他微调。

      【讨论】:

      • 请注意 - 您的解决方案非常适合我。谢谢。
      【解决方案4】:

      我不知道有任何免费/可用的组件,但如果没有人提供一个和/或你找不到你喜欢的一个,那么推出你自己的应该是相当简单的。用最简单的话来说,您只需:

      1. 创建/查找星形图标 - 一个轮廓(未选中),一个填充
      2. 创建一个 UIButton 并设置选中/未选中状态的图标
      3. 创建一个包含 x 星的容器视图,当一个被选中时,容器可以在触摸按钮左侧的任何按钮上设置选中状态。

      构建起来应该不会花很长时间......

      【讨论】:

        【解决方案5】:

        评级控件的另一种选择。这些允许您输入评级,而不仅仅是查看它。 http://cocoacontrols.com/search?utf8=%E2%9C%93&q=rating&commit=Search

        【讨论】:

          【解决方案6】:

          我可能会使用带有自定义 touchesXXX 消息的 UIView 来实现这一点,例如,用户可以触摸第一颗星并拖出四星评级。只是我的 0.02 美元。

          【讨论】:

            【解决方案7】:

            作为一般规则,如果它不在 Interface Builder 中,则不能“免费”使用,您必须自己编写。

            对于 iPhone,Apple 还提供了易于理解的示例代码,展示了每个可用组件以及如何使用它们。如果您在他们的代码中看不到它,则必须自己构建它。

            【讨论】:

              【解决方案8】:

              你可以试试DYRateView

              我的博客上有一篇关于如何在您的项目中使用 DYRateView 的教程:http://iappexperience.com/post/23227218867/dyrateview-a-simple-yet-powerful-rating-control-for

              【讨论】:

                猜你喜欢
                • 2019-09-25
                • 1970-01-01
                • 1970-01-01
                • 2022-06-29
                • 2011-03-31
                • 1970-01-01
                • 1970-01-01
                • 2013-04-12
                • 2011-09-29
                相关资源
                最近更新 更多