所以我使用一個uitableview來顯示多個圖像和標籤。我希望能夠檢查單擊的單元格的標籤文本,以便我可以識別哪個單元被點擊。UITableViewCell問題並檢查點擊
我這樣做的原因是因爲我想爲一個被單擊的單元格執行不同的操作,另一個單元格執行另一個操作。
這是我如何填充我的細胞(從一個原型細胞)從一個名爲CustomCell
//tableview datasource delegate methods
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return cellIconNames.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
cellIconName = [cellIconNames objectAtIndex:indexPath.row];
NSString *cellIconImageName = [[self cellIconImages] objectAtIndex:[indexPath row]];
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if(cell == nil){
cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.rightLabel.text = [cellIconNames objectAtIndex:indexPath.row];
cell.carrierImage.image = [UIImage imageNamed:cellIconImageName];
cell.urlString = [cellIconNames objectAtIndex:indexPath.row];
return cell;
}
我檢查,看看點擊其中一個方式類細胞defenition是這樣做的:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;{
CustomCell *cell = (CustomCell*)[tableView cellForRowAtIndexPath:indexPath];
//[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.google.com"]];
if ([cell.urlString isEqualToString:@"Aetna"]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.aetna.com"]];
}else if([cell.urlString isEqualToString:nil]){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.google.com"]];
}
NSLog(@"cell was clicked %@", cell);
}
當我點擊一個單元格時,沒有任何反應。現在我已經制作了NSLOG,這樣我就可以確保它們正在被正確讀取。
我也註釋掉了我的測試代碼行,我把if語句註釋掉了,只運行了一行註釋代碼行,沒有任何反應。
請幫助我,我不知道是怎麼回事錯誤:/
這樣一個簡單的答案我從來沒有考慮過它,爲什麼這會改變什麼?出於好奇(它的工作) – tyler53
當你考慮到你可以創建自己的URL方法並註冊它們來使用基本上與你在那裏使用的相同的UIApplication調用來啓動其他程序時,這是有道理的。 –