2012-05-19 104 views
0

您好,我目前使用Simon Lee's wonderful tutorial來擴展我的單元格。一切工作正常。無法在可擴展單元中隱藏uitoolbar以隱藏

我的單元格爲100px,展開時單元格變爲144px高。在添加的44px中,我放置了一個帶有條形按鈕的工具欄。我已經得到了按鈕的工作,但有一個問題。

當單元展開時,我可以點擊任意一個100像素和單元格關閉,但是當單元格關閉時,點擊單元格下方的44像素會導致條形按鈕完成其操作。我假設它仍然啓用,如果當從網站隱藏。

我禁用了故事板中的用戶交互,但無法在單元格被選中時打開它,反之亦然!如果任何人都能指出我的正確方向,那將起作用!

Simon說了一些關於做以下事情的事情,但我不太確定究竟在哪裏實施它!我到處試過!

for(NewsCell *cell in [self.tableView visibleCells]) { 
    BOOL cellIsSelected = [selectedIndexes objectForKey:indexPath]; 
    [cell.detailToolbar setUserInteractionEnabled:cellIsSelected]; 
} 

下面是我的一些代碼:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
// If our cell is selected, return double height 

if([self cellIsSelected:indexPath]) { 

return 144.0; 

} 

// Cell isn't selected so return single height 

return 100.0; 
} 

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

// Deselect 
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 

self.tableView.clipsToBounds = YES; 


// Store cell 'selected' state keyed on indexPath 
NSNumber *selectedIndex = [NSNumber numberWithBool:isSelected]; 
[selectedIndexes setObject:selectedIndex forKey:indexPath]; 

// This is where magic happens... 
[self.tableView beginUpdates]; 
[self.tableView endUpdates]; 
} 

回答

0

我想出了我自己的想法。事實證明,我所要做的就是將我的單元中的用戶交互設置爲關閉。併爲選定的單元打開它。

for(NewsCell *cell in [self.tableView visibleCells]) { 
     BOOL cellIsSelected = isSelected; 
     [cell.detailToolbar setUserInteractionEnabled:cellIsSelected]; 
} 
0

了的tableView在didSelectRowAtIndexPath方法的clipsToBounds看起來有點怪我

self.tableView.clipsToBounds = YES; 

你設置clipoToBounds爲YES你的細胞?

+0

我已經刪除了我的代碼中的clipsToBound。我的單元格的確有「剪輯子視圖」按鈕被選中。與我的工具欄一樣。 – Year3000