2012-07-31 144 views
0

我正在寫一個通用的iOS應用程序,並在其中我有一個UITableView設置爲允許allowsMultipleSelectionDuringEditing。只是爲了刷新你的記憶,這意味着表格的每個單元格在其左側都有一個小複選框。當我處於編輯模式時,是否有方法可以確定用戶是否輕敲小複選框或者是否輕敲了單元格的其餘部分?我想要調用不同的方法,具體取決於他們是否點擊框或單元格的其餘部分。例如,如何知道用戶點擊UITableViewCell中的哪個位置?

if(user tapped checkbox) 
{ 
    foo(); 
} 
else if (user tapped any part of the cell other than checkbox) 
{ 
    foobar(); 
} 

回答

2

我想通了。只需在每個UITableViewCell中添加一個手勢識別器並將識別器設置爲調用此方法即可:

UITableViewCell *cellTapped = (UITableViewCell *) recognizer.view; 
CGPoint tapLocationInContentView = [recognizer locationInView:cellTapped.contentView]; 
if(tapLocationInContentView.x < 0) 
{ 
    //Checkbox tapped 
} 
else 
{ 
    //Rest of cell tapped 
} 
相關問題