2010-10-06 13 views
5

Próbuję zbudować zgrupowaną komórkę UITableView, taką jak tabela w informacjach o użytkowniku w aplikacji Twittera (poprzednia aplikacja Tweetie).Dwie komórki w jednym wierszu w UITableView

Jest to komórka z dwiema stronami i można wybrać dowolną z nich oddzielnie (a tło zmienia kolor na niebieski, podobnie jak przycisk z zaokrąglonymi rogami).

Ktoś zrobił coś takiego lub wiedział, jak to zrobili?

Zrzut ekranu z widokiem (jest następujące, tweety, obserwuje i ulubionych komórki)

alt text

Odpowiedz

0

użyć dwóch UIButtons w Twojej komórce, aby to.

1

Po pierwsze ... utwórz obraz tła, który jest tylko białym prostokątem z pojedynczą szarą linią w środku.

Następnie podklasa UITableViewCell ..... ma dwa niestandardowe UIButtons stylu. Tło jest białym obrazem z linią w dół od środka wcześniej.

przypisz clearColor do obrazu tła przycisku i obrazu przycisku.

Przyciski wielkości i miejsca takie, że przycisk 1 i przycisk 2 spotykają się na pojedynczej szarej linii.

W twojej tabeli Zobacz, w której planujesz użyć tej niestandardowej komórki, przekształć ją w zgrupowany styl.

zwariować^_^

+0

Niesamowite, wydaje się to dobrym sposobem na zrobienie tego. Spróbuję wrócić i powiedzieć, czy rozwiązał mój problem. Dzięki! : D –

+0

Rozrusznik tematów chciał rozwiązania, w którym po naciśnięciu obu stron kolumny można było podświetlić na niebiesko. Którego twoje rozwiązanie nie osiąga. –

+0

Nie rozumiem, co masz na myśli. Możesz zrobić co chcesz z UIButtonem ..... są to banalne szczegóły :) ....ustawienie dwóch UButtons osobno, tak jak powiedziałem, osiąga to, czego chce ... – Sid

0

można zrobić cokolwiek chcesz w klasie UITableViewCell. następnie umieść to razem w tableView i buduj i biegnij mężczyznami. nieba są granicami.

4

Chciałem zrobić to samo w mojej własnej aplikacji, ale byłem też trochę nieświadomy, jak to się stało w aplikacji na Twitterze.

Po dłuższej zabawie z tą komórką w aplikacji Twitter, próba rozbicia jej w celu sprawdzenia, co zrobiłaby (np. Naciśnięcie kilku przycisków jednocześnie, przewijanie podczas stukania itp. XD), myślę, że " ve zorientował się, jak to się robi.

Z tego co widzę, jest to pojedyncza UITableViewCell (tj. Obejmująca wiele linii) ze specjalnym niestandardowym contentView dodanym do niego, który renderuje wszystko tam (tekst, linie itp.). Kiedy użytkownik kliknie komórkę, niestandardowy widok ustali, który region całej komórki został dotknięty (Możliwy przez przechwycenie touchesBegan w niestandardowej klasie widoku), a następnie przerysowuje ten konkretny region jako podświetlony (prawdopodobnie całkowicie w obrębie funkcji drawRect).

Ponieważ jeśli spojrzysz BARDZO uważnie, niebieskie powiekszone tło częściowo nachodzi na zakrzywiony narożnik komórki (co oznacza, że ​​jest narysowane ponad górną częścią), domyślam się, że niestandardowa komórka również osobiście renderuje podświetlone niebieskie tło (W przeciwieństwie do UITableViewCell robi to jak zwykle).

Nadzieję, że pomogło. To nie jest bardzo eleganckie rozwiązanie, ale powinno to wystarczyć.

Powiązane problemy