首次加载表格视图 iPhone 时更改所选行的背景颜色

问题描述 投票:0回答:2

您好,我正在开发小型 IOS 应用程序,我在表视图中加载一些数据。所以我想做的就是将第一行设置为默认选定的行,并具有某些选定的背景颜色。所以我尝试了以下事情

  // inside viewDidLoad make first row as selected row 
    NSIndexPath *indexPath=[NSIndexPath indexPathForRow:0 inSection:0];
[_tableView selectRowAtIndexPath:indexPath animated:YES  scrollPosition:0];

 // inside cellForRowAtIndexPath set some selection color 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIView *bgColorView = [[UIView alloc] init];
    bgColorView.backgroundColor = [customColor colorWithHexString:@"91979755"];
    [cell setSelectedBackgroundView:bgColorView];
}

但是它不起作用。有人知道怎么做吗?需要一些帮助。谢谢。

ios iphone uitableview selecteditem
2个回答
0
投票
    self.indexPath = [NSIndexPath indexPathForRow:0 inSection:0];


    [_tabelView selectRowAtIndexPath:self.indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

     // inside cellForRowAtIndexPath set some selection color 
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {

        if(self.indexPath.row==indexPath.row){

     UIView *bgColorView = [[UIView alloc] init];
        bgColorView.backgroundColor = [customColor colorWithHexString:@"91979755"];
        [cell setSelectedBackgroundView:bgColorView];
       }


    }
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.indexPath=indexPath;
}

0
投票

尝试这段代码,将其放入 cellForRow 方法中:

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor cyanColor];
[cell setSelectedBackgroundView:bgColorView];

对于特定行,将其放入 if 条件中。

© www.soinside.com 2019 - 2024. All rights reserved.