2008-11-15 13 views

Odpowiedz

6

UIView umożliwia budowanie komponentów oceny w celu zapewnienia tego samego rodzaju aplikacji AppStore lub Youtube na telefonie iPhone.

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

+0

sweeeeeeeeeeeeet –

+1

Widok s7ratingview jest przesunięty na GitHub - http://github.com/eisernWolf/TouchCustoms – Sagar

+1

Jest tutaj: http://code.google.com/p/s7ratingview/downloads/detail?name=s7ratingview-basic -release.zip –

4

Nie znam żadnej wolny/dostępnych komponentów z góry na głowie, ale jeśli nikt nie oferuje jeden się i/lub nie można znaleźć jeden chcesz, powinno być dość trywialny przetaczać własne. W najprostszych słowach, trzeba tylko:

  1. Tworzenie/Znajdź ikonę gwiazdki - jeden kontur (niezaznaczony), jeden wypełniony
  2. Tworzenie UIButton i zestaw ikon dla wybranych/stanach niewyselekcjonowanych
  3. Utwórz widok kontenera, w którym były Twoje x gwiazdki, a po wybraniu kontener może ustawić wybrany stan na dowolnym przycisku po lewej stronie dotkniętego przycisku.

nie powinno trwać długo w ogóle budować ...

1

to pewnie zaimplementować to przy użyciu UIView ze zwyczajem touchesXXX wiadomości, dzięki czemu użytkownik może na przykład, dotknij i przeciągnij pierwszą gwiazdkę ocena czterogwiazdkowa. Tylko moje 0,02 USD.

1

Zgodnie z ogólną zasadą, jeśli nie ma jej w Konstruktorze interfejsów, nie jest dostępna "za darmo", a będziesz musiał napisać to sam.

Apple dostarcza również łatwo zrozumiały kod przykładowy, który pokazuje każdy dostępny komponent i sposób ich użycia. Jeśli nie widzisz tego w swoim kodzie, musisz go sam zbudować.

5

Poszedłbym prościej. Podklasa UIControluj i zaimplementuj touchesBegan: touchesMoved: and touchesEnded: methods. Możesz określić, którą gwiazdę użytkownik nacisnął/przeciągnął/wypuścił za pomocą współrzędnej X dotyku. Na przykład:

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

To od Ciebie zależy, które gwiazdy będą oświetlone w oparciu o tę wartość. Aha, i wysłać zdarzenie UIControlEventValueChanged.

Oczywiście, można również zastąpić drawRect: narysować gwiazdy w widoku.

Chociaż powyższe rozwiązanie Jason'a zadziała, użytkownik nie będzie mógł przesunąć palcem po panelu sterowania, aby dostosować swoją ocenę. Dałoby to również opcję robienia półgwiazd lub innych drobnych poprawek.

+0

Zaledwie heads up - rozwiązania pracował dla mnie idealny. Dzięki. – Hunter

Powiązane problemy