12 grudnia 2008 r. Twórca iPhone'a Tweetie opublikował great example, w jaki sposób korzysta z przewijania UITableView bez poszarpanego/nierównego wyglądu, który zwykle pociąga za sobą. Jego example code działa świetnie z wersją 2.2 pakietu SDK, jednak podczas kompilacji dla wersji 3.0 nie mogę uzyskać podświetlenia kliknięcia do pracy w pojedynczej komórce. Czy ktoś ma pojęcie, co należy zaktualizować z wersji 2.2 -> 3.0, aby jego kod (w pełni) działał?Szybkie przewijanie w Tweetie z UITableView
Odpowiedz
W drawContentView, zmień self.selected do self.highlighted
- (void)drawContentView:(CGRect)r
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor *backgroundColor = [UIColor whiteColor];
UIColor *textColor = [UIColor blackColor];
if(self.highlighted)
{
backgroundColor = [UIColor clearColor];
textColor = [UIColor whiteColor];
}
... code continues ...
}
Przykro nam, ale nie możemy jeszcze odpowiedzieć na 3.0 konkretne odpowiedzi, ale zrobimy to NDA ... mam nadzieję, że niedługo po wydaniu wersji 3.0 ograniczenie zostanie zniesione.
W międzyczasie przeczytaj dokumentację 3.0 UITableViewCells i jak teraz działa wybór, odpowiedź może ci przyjść.
Być może to zachowanie zostanie magicznie naprawione do czasu, gdy NDA przestanie obowiązywać. W międzyczasie błędy w plikach jako zapytania do osób, które chcą, abyś użył wersji 3.0, ale nie mów o tym.
jeśli chcesz kulminacyjnym pozostać jako nowy widok jest popychany (domyślne zachowanie dla tableview komórek'S) auto-dehighlighted na pop, upewnij się, że również mają przezroczyste tło dla self.selected:
if(self.highlighted || self.selected){
backgroundColor = [UIColor clearColor];
textColor = [UIColor whiteColor];
}
komórka zostanie automatycznie anulowane podświetlone i de-wybrany, gdy jego dziecko jest zdejmowana.
tak. Właśnie zdałem sobie sprawę, że kiedy napisałem pytanie, ale zdecydowałem się opublikować tak czy inaczej. – CodingWithoutComments