簡體   English   中英

如何突出顯示UITableView中的行

[英]How to highlight a row in a UITableView

下面的代碼似乎沒有任何效果。 我希望它以與點擊一行時突出顯示的方式相同

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
   ...
   [cell.textLabel setHighlighted:YES];


   return cell;
}

該生產線將為您重新粉刷細胞,標簽和配件:

[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

正如其他人所說,您可以使用此方法以編程方式選擇單元格:

 [tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

但是,您應該注意不要太快調用此方法。

第一次initialized包含所述tableView的視圖控制器時,最早應該調用此方法的是viewDidAppear: .

所以,你應該做這樣的事情:

- (void)viewDidAppear:(BOOL)animated
{
   NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; // set to whatever you want to be selected first 
   [tableView selectRowAtIndexPath:indexPath animated:NO  scrollPosition:UITableViewScrollPositionNone];
}

如果您嘗試將此調用放入viewDidLoadviewWillAppear:或任何其他早期視圖生命周期調用,它可能無法工作或具有奇怪的結果(例如滾動到正確的位置但不選擇單元格)。

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection: 0];

[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

通常有效

如果使用界面構建器來構建界面,則需要檢查的是您指定了表視圖控制器的視圖。 如果您實際上沒有指定視圖,則此選擇消息可能無處可尋。

(通過在界面構建器檢查器窗口中選擇表視圖控制器並將“視圖”的插座拖動到要在其中進行選擇的表視圖來指定視圖)。

- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
   return YES;
}

- (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
  // do something here
}

嘗試這個 :)

您可以使用

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
   ...
   [cell.textLabel setHighlighted:YES];


   return cell;
}

你有兩個選擇。 使用表視圖的選擇:

[tableView selectRowAtIndexPath: indexPath animated: YES scrollPosition: UITableViewScrollPositionNone];

或者在表視圖委托中更改表格單元格的背景顏色:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    cell.backgroundColor = ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM