3
A
回答
2
是的!
呼叫[[UIMenuController sharedMenuController] setMenuVisible:YES animated:ani]
(其中ani
是BOOL
确定控制器是否应动画)从- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
(UITableView中的委托方法)
编辑中:在UIMenuController
“复制”命令,默认不会复制detailTextLabel.text
文本。但是,有一个解决方法。将以下代码添加到您的班级中。
-(void)copy:(id)sender {
[[UIPasteboard generalPasteboard] setString:detailTextLabel.text];
}
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if(action == @selector(copy:)) {
return YES;
}
else {
return [super canPerformAction:action withSender:sender];
}
}
9
在iOS 5中,一个简单的办法是落实的UITableViewDelegate方法:
- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
通过实施3名代表,它将使长按手势之后打电话UIMenuController你。类似的例子:
/**
allow UIMenuController to display menu
*/
- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
/**
allow only action copy
*/
- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
{
return action == @selector(copy:);
}
/**
if copy action selected, set as cell detail text
*/
- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
{
if (action == @selector(copy:))
{
UITableViewCell* cell = [tableView cellForIndexPath:indexPath];
[[UIPasteboard generalPasteboard] setString:cell.detailTextLabel.text];
}
}
相关问题
- 1. 显示UIMenuController取消选择UITableViewCell
- 2. UIMenuController不显示在textView中
- 3. 在UITableViewCellAccessoryDetailDisclosureButton下显示UIMenuController
- 4. UIMenuController没有显示
- 5. 从UIBarButtonItem显示UIMenuController
- 6. UIMenuController不显示在第二个UIViewController中
- 7. 在UITextField的editingDidBegin中显示UIMenuController
- 8. 在UIBarButton中显示UIMenuController单击
- 9. 显示UIMenuController丢失键盘
- 10. UIMenuController没有得到显示
- 11. 正方形而不是UITableViewCell分组样式中的圆角
- 12. 如何隐藏UITableViewcell中的所有节标题(分组样式)?
- 13. QlikView的:在分组显示图表样式
- 14. 网格显示在UITableViewCell中
- 15. 问题为分组样式表创建自定义UITableViewCell
- 16. UITableViewCell翻转动画问题(分组样式)
- 17. 的UITableViewCell不会成为第一响应者(显示UIMenuController对细胞手势)
- 18. 重现UITableViewCell样式
- 19. 为什么我的UITableViewCell不能在任何样式中显示detailTextLabel?
- 20. 组合框样式显示评分和描述WPF
- 21. 如何在UITableViewCell中模糊(ios7样式)图像的一部分?
- 22. UITableViewCell在编辑样式中出现的分隔线
- 23. UITableViewCell未显示
- 24. UIMenuController不从子视图显示UITextView
- 25. 显示UIMenuController时获取选定文本
- 26. 如何将UIMenuController显示为UIBarButtonItem
- 27. UIMenuController显示错误的项目
- 28. 使用按钮点击显示UIMenuController
- 29. Intent.createChooser()显示样式?
- 30. 样式不显示
它应该完成一个长的水龙头,是否正确? –
如果你把它放在'tableView:didSelectRowAtIndexPath'里面,那么当你以一种普通的方式选择这个行时,就会出现'UIMenuController'(我收集这就是你想要的) – joshim5
yes and no :)想要的是通过COPY选项获取菜单,以获取detailTextLabel.text文本,如联系人应用程序 –