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