Ich habe eine Tabellenansicht und ich legte alle ungeraden Zellenhöhe = 0, In der ungeraden Zelle hatte ich einige Etiketten. Wenn die Tabellenansicht angezeigt wird, erscheint die Beschriftung in der ungeraden Zelle in der geraden Zelle. Gibt es eine Möglichkeit, das Label verschwinden zu lassen? Dieses Problem ist in ios 6 p/s: in ios 7 passiert: es funktioniert richtig. Ich hatte bereits die Methode: [TableView beginUpdates]; [tableView endUpdates];heightForRowAtIndexPath = 0, aber es zeigt immer noch die Bezeichnung in seiner Zeile
Danke.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
// show odd row
if (selectedRow == indexPath.row) return 78;
// hide odd row and show even row
if (indexPath.row %2 ==0){
return 88;}
else{
return 0;}
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row%2 == 0){
//user click on even row -> display the next row
selectedRow = indexPath.row+1;
[tableView beginUpdates];
[tableView endUpdates];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
int index = indexPath.row/2;
if (indexPath.row %2 ==0){
static NSString *CellIdentifier = @"PhraseViewCell";
PhraseCellVietnamese *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
NSString *phrase = [[phrases objectAtIndex:index] objectForKey:@"vietnamese"];
NSNumber *checkFavorite = [[phrases objectAtIndex:index] objectForKey:@"favorite"];
NSNumber *phraseId =[[phrases objectAtIndex:index] objectForKey:@"_id"];
[cell SetInfo:phrase :checkFavorite.intValue :phraseId.intValue];
return cell;
}
else{
static NSString *CellIdentifier = @"PinyinViewCell";
PinYinViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
NSString *pinyin = [[phrases objectAtIndex:index] objectForKey:@"pinyin"];
NSString *chinese = [[phrases objectAtIndex:index] objectForKey:@"chinese"];
NSString *voice = [[phrases objectAtIndex:index] objectForKey:@"voice"];
[cell setInfo:pinyin :chinese :voice];
return cell;
}
}
Was passiert, wenn Sie Clipping-Subviews auf yes für contentView der Zelle setzen? – Zen
wie man es einstellt? Entschuldigung, weil ich Neuling bin – tommy
'[cell.contentView setClipsToBounds: YES];' – Zen