2014-03-31 115 views
1

我試圖在表視圖加載時選擇一行。我發現其他線程關於這個問題,但他們沒有解決我的問題,所以我再問。無法以編程方式選擇UITableViewCell

我的tableview包含5行。而我這樣做:

if ([[dataSource objectAtIndex:indexPath.row] isEqualToString:self.status]) { 
    [self tableView:[self tableView] didSelectRowAtIndexPath:indexPath]; 
} 

我也試過cell.selected = YES;cell.highlighted = YES;

我使用custion選擇視圖下面的代碼:

UIView *customColorView = [[UIView alloc] init]; 

customColorView.backgroundColor = [UIColor colorWithRed:180/255.0 
                 green:138/255.0 
                 blue:171/255.0 
                 alpha:0.5]; 
cell.selectedBackgroundView = customColorView; 

請幫我編程選擇行。當我點擊該行時,該行被選中,但無法以編程方式選擇。

+0

didSelectRowAtIndexPath是委託方法。 – Masa

回答

1

嘗試表視圖對象上調用selectRowAtIndexPath:

if ([[dataSource objectAtIndex:indexPath.row] isEqualToString:self.status]) 
{ 
    [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone]; 
} 
3

嘗試用下面的代碼

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

在這裏你需要設置indexPath爲您要選擇的行。

3

你可以通過調用UITableView委託方法是

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {} 

這個方法,你需要檢查同一小區,你不被竊聽每個選定的時間內得到這個。

if ([[myArray objectAtIndex:indexPath.row] isEqualToString:self.same]) 
{ 
    [myTable selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone]; 
} 
相關問題