2008-11-15 46 views

回答

6

UIView允許您構建Rating組件,以提供與iPhone上的AppStore或Youtube應用程序相同的體驗。

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

+0

sweeeeeeeeeeeeet – 2009-08-02 23:32:08

4

我不知道把我的頭頂部的任何自由/可用的組件,但如果沒有人提供了一個向上和/或你無法找到一個你喜歡的,它應該是相當微不足道推出自己的。簡單來說,你只需要:

  1. 創建/查找星形圖標 - 一個輪廓(未選),一個充滿
  2. 創建一個UIButton並設置圖標選定/未選定狀態
  3. 創建一個容器視圖,其中包含您的x個星號,當選擇一個容器視圖時,容器可以在觸摸按鈕左側的任意按鈕上設置選定狀態。

用不了太久都建立...

1

我可能會實現這個使用的UIView自定義touchesXXX消息,以便用戶可以,例如,觸摸第一球星和阻力拿出四星評級。只是我的0.02美元。

1

作爲一般規則,如果它不在Interface Builder中,那麼「免費」不可用,並且您必須自己編寫它。

當涉及到iPhone時,Apple還提供了易於理解的示例代碼,該代碼展示了每個可用組件以及如何使用它們。如果你沒有在代碼中看到它,你必須自己構建它。

5

我會更簡單。子類UIControl並實現touchesBegan:touchesMoved:和touchesEnded:方法。您可以確定用戶使用觸摸的X座標來按下/拖動/放開哪顆星星。例如:

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

然後,您可以根據該值確定哪些恆星照明。哦,併發送一個UIControlEventValueChanged事件。

顯然,您還可以重寫drawRect:在視圖中繪製星星。

儘管Jason的解決方案可行,但您的用戶將無法在控件上滑動手指以微調她的評分。這也可以讓你選擇做半星或其他微調。

+0

剛擡起頭 - 您的解決方案的工作非常適合我。謝謝。 – Hunter 2009-05-26 22:52:34

相關問題