Jak dodać odznakę do UITableViewCell
, tak:iOS - Dodaj Odznakę do UITableViewCell
alt text http://img17.imageshack.us/img17/9974/img0001ac9.png
powinienem po prostu dodać podrzędny z tekstem i etykiety na nim?
Jak dodać odznakę do UITableViewCell
, tak:iOS - Dodaj Odznakę do UITableViewCell
alt text http://img17.imageshack.us/img17/9974/img0001ac9.png
powinienem po prostu dodać podrzędny z tekstem i etykiety na nim?
Tak, obecnie nie ma obsługiwanego sposobu dodawania plakietki do komórki UITableView. W tym przykładzie najprawdopodobniej jest to niestandardowy wyskakujący widok, który zawiera obraz i UILabel.
Chciałbym dodać kolejną alternatywę do tworzenia niestandardowych odznak. CustomBadge jest trochę mocniejszy. Jest otwarty i bezpłatny.
Jeśli chodzi o mnie najprostszym sposobem jest użycie przy użyciu cell.accessoryView
. Proszę zajrzeć do mojego kodu, jak to zrobiłem:
UIImageView * commentsViewBG = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"counter1.png"]];
commentsViewBG.frame = CGRectMake(
commentsViewBG.frame.origin.x,
commentsViewBG.frame.origin.y, 30, 20);
UILabel *commentsCount;
if (commentsArray.totalCount < 10)
commentsCount = [[UILabel alloc]initWithFrame:CGRectMake(10, -10, 40, 40)];
else if (commentsArray.totalCount < 100)
commentsCount = [[UILabel alloc]initWithFrame:CGRectMake(5, -10, 40, 40)];
else if (commentsArray.totalCount < 1000)
{
commentsViewBG.frame = CGRectMake(
commentsViewBG.frame.origin.x,
commentsViewBG.frame.origin.y, 40, 20);
commentsCount = [[UILabel alloc]initWithFrame:CGRectMake(5, -10, 40, 40)];
}
commentsCount.text = [NSString stringWithFormat:@"%ld",(long)commentsArray.totalCount];
commentsCount.textColor = [UIColor whiteColor];
commentsCount.backgroundColor = [UIColor clearColor];
[commentsViewBG addSubview:commentsCount];
cell.accessoryView = commentsViewBG;
i mój wynik:
Nadzieję, że to pomaga.
Proszę nie zamieszczać dokładnie tej samej odpowiedzi na wiele pytań: albo nie nadaje się dla wszystkich, albo pytania są duplikatami, które powinny być oznaczone/zamknięte jako takie. –
Jeśli to ułatwia znalezienie, nie widzę problemu. Czasami zduplikowane pytania pojawiają się najpierw w Google, a nawet jeśli są oflagowane, mogą czasami mieć lepsze odpowiedzi. – Samin
TDBadgedCell to całkiem dobry wybór. Wysoce konfigurowalny do Twoich potrzeb.
Oto szybka korekta odpowiedzi @ POF. Nie potrzebujemy jak najwięcej subviews i możemy korzystać z matematyki wspieranie cyfry N, a nie tylko 1-3:
func setDiscountBadge(count: Int) {
let size: CGFloat = 26
let digits = CGFloat(count("\(number)")) // digits in the label
let width = max(size, 0.7 * size * digits) // perfect circle is smallest allowed
let badge = UILabel(frame: CGRectMake(0, 0, width, size))
badge.text = "\(number)"
badge.layer.cornerRadius = size/2
badge.layer.masksToBounds = true
badge.textAlignment = .Center
badge.textColor = UIColor.whiteColor()
badge.backgroundColor = cfg.UIColors.brand
YOURCELL.accessoryView = badge // !! change this line
}
a wynik (używam koloru marki, lecz Twoja może być dowolnego koloru):
[tutaj] (http://www.spaulus.com/2010/09/create-a-custom-iphone-ipad-badge/?lang=en) jest alternatyw z moim własnym. Cieszyć się! – Sascha