2009-02-10 2 views
0

Я пошел так далеко, чтобы использовать следующий код, чтобы установить цвет фона ячейки TableView (в cellForRowAtIndexPath)сотовый цвет фона показывает только до текста

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

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
     cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; 


     cell.backgroundColor = [UIColor yellowColor]; 
     cell.contentView.backgroundColor = [UIColor yellowColor]; 

     UIView* backgroundView = [ [ [ UIView alloc ] initWithFrame:CGRectZero ] autorelease ]; 
     backgroundView.backgroundColor = [ UIColor yellowColor ]; 
     cell.backgroundView = backgroundView; 
     for (UIView* view in cell.contentView.subviews) 
     { 
      view.backgroundColor = [ UIColor yellowColor ]; 
     } 
    } 

    // Set up the cell... 
    if ([[menuList objectAtIndex:indexPath.row] isKindOfClass:[Category class]]) 
    { 
     cell.text = ((Category *)[menuList objectAtIndex:indexPath.row]).name; 
    } 
    else 
    { 
     [cell setText: [menuList objectAtIndex:indexPath.row]]; 
    } 


    return cell; 
} 

Однако, когда он оказывает лишь часть ячейка имеет подобный фон, подобный этому (где z - заполнение bg), даже фон Аксессуара - это цвет, но не текст.

xxxxxxxxxxxxxxxxxxxx 
zzzSearch   
xxxxxxxxxxxxxxxxxxxx 

Единственный способ я вижу, чтобы иметь возможность изменить фон текста, установив цвет фона всей табличном в Interface Builder

ответ

0

Держу пари текст является непрозрачным UILabel. Я помню, что нужно добавить myText.backgroundColor = [UIColor clearColor] в текст содержания UILabel, чтобы заставить это работать правильно.

+0

Спасибо звучит как многообещающий корень к решению. Я попробовал то, что вы предложили (см. Обновленный пример кода выше), но до сих пор нет радости, никаких предложений? –

+0

Можете ли вы опубликовать скриншот? –

+0

Не легко нет, как Im немного macbb, но я уверен, что это то, что вы предлагаете. Я думаю, что ярлык просто непрозрачен. Но, как вы можете видеть выше, я пытаюсь все, о чем я могу думать. Я пропустил что-то очевидное? –

0

мне удалось сделать это с помощью настраиваемого объекта TableViewCell, но я уверен, там должен быть способом сделать это без

Смежные вопросы