UILabel ghosting при печати NSInteger с прозрачным фоном - PullRequest
0 голосов
/ 29 октября 2010

У меня есть UILabel в UITableCell, и когда я делаю фон метки прозрачным, я получаю эти странные символы-призраки (см. Изображение ниже), и это выглядит ужасно.Вот мой код:

Слева:

UILabel *unreadLabel = [[UILabel alloc] initWithFrame:CGRectMake(270, 7, 25, 25)];
unreadLabel.text = [NSString stringWithFormat:@"%d", source.unreadCount];
unreadLabel.textColor = [UIColor colorWithWhite:100.0f/255.0f alpha:1.0];
unreadLabel.font = [UIFont systemFontOfSize:11.0f];
[cell addSubview:unreadLabel];
[unreadLabel release];

Справа - то же самое, что и слева, но с этим добавлено:

unreadLabel.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.0];

UnreadCount - NSInteger.

alt text

Ответы [ 2 ]

1 голос
/ 29 октября 2010

Вы добавляете UILabel в ячейку каждый раз, когда используете ячейку. Однако ячейки используются повторно, поэтому каждый раз, когда ячейка используется повторно, вы просто добавляете новую метку. Вам необходимо настроить это так, чтобы вы добавляли метку только при создании ячейки, а вместо этого просто извлекали уже существующую метку (возможно, путем присвоения ей метки и использования -viewWithTag:) при последующих повторных использованиях ячейки.

1 голос
/ 29 октября 2010

Это происходит, когда вы рисуете текст снова и снова.Моя первая мысль: похоже, у вас есть ошибка повторного использования ячеек, из-за которой вы не очищаете все, когда повторно используете ячейки.Если бы вы убрали повторное использование ячейки и просто каждый раз выделяли новую ячейку, держу пари, это не видно.Если это так, то определенно посмотрите, как вы очищаете ячейку, прежде чем перенастроить ее, и убедитесь, что указанная метка обрабатывается правильно и не игнорируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...