CGRect rectInTableView = [tableView rectForRowAtIndexPath:indexPath];
CGRect rectInSuperview = [tableView convertRect:rectInTableView toView:[tableView superview]];
先计算cell的位置,再转化到view中的位置
1) 你期望 tableView canPerformAction: 支持自定义选择器,而该文档说它支持的只有两个UIResponderStandardEditActions (复制和粘贴) ;
2) 有没有需要的部分 || action == @selector(test:) ,您要添加的自定义菜单选项通过初始化 menuItems 属性。这项选择器检查将是自动的。
你能做什么来获取自定义显示的菜单项和工作是:
1) 修复的表视图委托的方法
) a
UIMenuItem testMenuItem = [[UIMenuItem alloc] initWithTitle:@"Test" action:@selector(test:)];
[[UIMenuController sharedMenuController] setMenuItems: @[testMenuItem]];
[[UIMenuController sharedMenuController] update];
b)
- (BOOL)tableView:(UITableView )tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath )indexPath {
return YES;
}
-(BOOL)tableView:(UITableView )tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath )indexPath withSender:(id)sender {
return (action == @selector(copy:));
}
- (BOOL)tableView:(UITableView )tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath )indexPath withSender:(id)sender {
return YES;
}
2) 设置单元格 (创建子类 UITableViewCell ) 与
-(BOOL) canPerformAction:(SEL)action withSender:(id)sender {
return (action == @selector(copy:) || action == @selector(test:));
}
-(BOOL)canBecomeFirstResponder {
return YES;
}
/// this methods will be called for the cell menu items
-(void) test: (id) sender {
}
-(void) copy:(id)sender {
}
假如你是用代码方式直接将控件(如UILabel、UIButton等)加到UITableView的cell中去的话,,,在出了
[cpp] view plaincopy
- (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath
{
//自定义代码
return cell;
}
这个函数后,,,当你点击cell的时候想知道到底是点击了第几行,,这时候你就可以通过在以下代码获得点击
以上就是关于如何获得UITableViewCell 在屏幕中的位置全部的内容,包括:如何获得UITableViewCell 在屏幕中的位置、如何显示自定义的 UIMenuItem 的 UITableViewCell、如何获取uitableviewcell多选的index等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)