嗨有人能幫我理解如何在iOS 6.0中編輯時自動佈局表格單元的組件?我已將AutoLayout FALSE設置爲在屬性檢查器中右上角的UITableViewCell自動調整選項!單元格的右側圖像視圖與刪除按鈕重疊。請參照附圖。以下是此代碼。無論如何,我可以解決這個問題嗎?iOS 6:UITableView編輯和自動修復
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
PlayerCell *cell = (PlayerCell *)[tableView dequeueReusableCellWithIdentifier:@"PlayerCell"];
Player *player = [self.players objectAtIndex:indexPath.row];
cell.nameLabel.text = player.name;
cell.gameLabel.text = player.game;
cell.ratingImageView.image = [self imageForRating:player.rating];
return cell;
}
- (UIImage *)imageForRating:(int)rating
{
switch (rating)
{
case 1: return [UIImage imageNamed:@"1StarSmall.png"];
case 2: return [UIImage imageNamed:@"2StarsSmall.png"];
case 3: return [UIImage imageNamed:@"3StarsSmall.png"];
case 4: return [UIImage imageNamed:@"4StarsSmall.png"];
case 5: return [UIImage imageNamed:@"5StarsSmall.png"];
}
return nil;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
[self.players removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
我已經添加了下面的委託方法,當我滑動單元格時它工作正常。
-(void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
PlayerCell *cell = (PlayerCell *)[tableView cellForRowAtIndexPath:indexPath];
cell.ratingImageView.hidden = YES;
}
- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
PlayerCell *cell = (PlayerCell *)[tableView cellForRowAtIndexPath:indexPath];
cell.ratingImageView.hidden = NO;
}
...但是當按下editButtonItem按鈕時,這個方法不會被調用!真奇怪!我錯過了一些東西。我添加了以下方法,當按下Edit/Done按鈕時被調用,但沒有辦法檢測將被選中編輯的單元格!
- (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
[super setEditing:editing animated:animate];
if(editing)
{
NSLog(@"editMode on");
}
else
{
NSLog(@"Done leave editmode");
}
}
當用戶點擊左轉按鈕時,是否有添加選擇器在該按鈕上單擊並獲取單元格索引?
我沒有設置右上UITableViewController不Imageview!我所有的方法都浪費!不能相信這是這麼簡單。非常感謝你!但只是想知道是否有任何方法,當我點擊左鍵按鈕編輯單元格時被調用?這是我無法想象的唯一的事情。 – applefreak
如果我不記得有錯,你的單元格會通過UITableViewCellStateShowingDeleteConfirmationMask狀態發送' - (void)willTransitionToState:(UITableViewCellStateMask)狀態'。同樣的方法被稱爲默認狀態和編輯狀態。 (看文檔) –
我的意思是我已經設置了正確的UITableViewCell哪個did not; t工作! – applefreak