我正在使用UITableViewCell
来显示UIActivityViewController
,但问题是,一旦我点击了单元格,UIActivityViewController
就不会出现,直到我点击其他单元格3次或直到我单击一个显示另一个ViewController的单元格,这里是它出现但在新的ViewController中,我希望它在单元格所在的ViewController中。
我要展示的单元格UIActivityViewController
位于TableViewController
。
以下是我正在使用的代码:
- (void) tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
if ([indexPath isEqual:[tableView indexPathForCell:self.shareCell]]) {
NSString *shareText = [NSString stringWithFormat:@"Text to share"];
NSArray *shareObject = @[shareText];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:shareObject applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:nil];
}
}
我在.m中实现的.h文件中IBOutlet
UITableViewCell
。
提前谢谢!
答案 0 :(得分:4)
你正在呼唤错误的方法。当取消选择单元格时会调用此方法
- (void) tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
请改用:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath