私のiOSアプリで、チェックマークUITableViewCell
が付いているindexPathを知りたいですか?
基本的に、友人の選択を3人の友人に制限しようとしています。選択数が3より大きい場合、テーブルビューのユーザーインタラクションを無効にしました。選択した行がチェックマークが付いている行と等しい場合は、再度有効にしたいので、ユーザーは現在のチェックマークの付いた行のいずれかのチェックを外すことで、別の友達と友達になれます。私はこれを試しました:-
#pragma mark Limiting number of friends selected to 3
- (void)friendPickerViewControllerSelectionDidChange:
(FBFriendPickerViewController *)friendPicker
{
if ([friendPicker.selection count] <=3)
{
self.friendPickerController.tableView.userInteractionEnabled=YES;
}
if ([friendPicker.selection count] >=3)
{
UIAlertView *maxFriendsAlert =
[[UIAlertView alloc] initWithTitle:@"Max number of friends selected."
message:@"no more friends can be selected,"
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:@"Buy more friends",nil];
[maxFriendsAlert show];
maxFriendsAlert.tag=1;
#pragma mark disable friends selection
self.friendPickerController.tableView.userInteractionEnabled=NO;
}
//enable friend selection if selected row is equal to checkmarked row i.e. enable selection for previously checkmarked row
NSIndexPath *oldindexPath1=[self.friendPickerController.selection objectAtIndex:0];
NSIndexPath *oldindexPath2=[self.friendPickerController.selection objectAtIndex:1];
NSIndexPath *oldindexPath3=[self.friendPickerController.selection objectAtIndex:2];
if (self.friendPickerController.tableView.indexPathForSelectedRow==oldindexPath1||self.friendPickerController.tableView.indexPathForSelectedRow==oldindexPath2||self.friendPickerController.tableView.indexPathForSelectedRow==oldindexPath3)
{
self.friendPickerController.tableView.userInteractionEnabled=YES;
}
}
問題は、すでにチェックマークが付けられている uitableviewcell のインデックスパスがわからないことです