Проблема в настройке стиля выбора ячеек в UITableView в iPhone - PullRequest
6 голосов
/ 25 июня 2011

В моем приложении я использую стиль группировки для TableView. В этом я хочу настроить стиль выбора ячейки. Я хочу, чтобы стиль выделения был красным.

Я использую следующий код для этого:

UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor redColor];

[cell setSelectedBackgroundView:bgColorView];
[bgColorView release];

Используя вышеуказанный код. У меня есть проблема. Так как я взял сгруппированную таблицу стилей, в выделение первой и последней строк, выделение появляется с прямоугольником с острыми краями вместо появляются круглые углы.

Может ли кто-нибудь помочь мне в этом. Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 13 апреля 2012

Попробуйте это,

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"CellIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
        cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SelectedCellBackground.png"]] autorelease];
    }

    // Cell configuration takes place here
}
1 голос
/ 19 марта 2012

добавить каркас QuartzCore. и импортировать инфраструктуру QuartzCore / QuartzCore.h в файл .m. и после этого добавьте следующий код в метод cellForRowAtIndexPath.

UIImageView *imv = [[UIImageView alloc]init];
imv.backgroundColor=[UIColor redColor];
[cell setSelectedBackgroundView:imv];
CALayer *layer = imv.layer;
[layer setMasksToBounds:YES];
[layer setCornerRadius:10.0];
[imv release];
0 голосов
/ 03 марта 2012

Переопределить -(void)setSelected:animated: в вашем подклассе.

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
  if (selected)
    [self setBackgroundColor:[UIColor redColor]];
  else
    [self setBackgroundColor:[UIColor whiteColor]];
}

Вы можете добавить здесь причудливую анимацию, чтобы смешивать и затемнять фон при выделении и отмене выбора, если animated - ДА.

В общем UITableViewCell может быть немного неловко для подкласса, будьте терпеливы здесь.

0 голосов
/ 03 марта 2012
 UIImageView *imageVieww=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, cell2.bounds.size.width, cell2.bounds.size.height)];


    imageVieww.image=[UIImage imageNamed:@"mavilik.png"];

     [cell2 setSelectedBackgroundView:imageVieww];

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