gpt4 book ai didi

ios - UIMenucontroller 与 uitableviewcell 上的 uitextview

转载 作者:行者123 更新时间:2023-11-29 02:48:30 25 4
gpt4 key购买 nike

我的自定义 UITableViewCell 中有一个 UITextView。我主要使用 UITextView 来提供单元格数据检测。我为不同的单元格设置了自己的自定义 UIMenuitems。

              |-------------------------------|
| |
| |------------------| |
| | | |
| | UITextView| |
| |__________________| |
| |
| UITableViewCell|
|_______________________________|

我面临的问题是,当我点击 UITextView 中的区域时,我没有得到任何菜单 Controller ,预期的行为是,它应该调用为该微粒 UITebleViewCell 定义的相同菜单 Controller 。

如果我用 UILabel 替换 UITextView,我会得到正确的菜单 Controller ,但我失去了数据检测能力。

请指导我正确的方向,我错过了什么或者我做错了什么?

最佳答案

您可以使用 UITapGestureRecognizer 检测 TextView 上的点击。

  • 确保您的 textView 的 userInteractionEnabled 为 TRUE

myTextView.userInteractionEnabled = TRUE;

  • 为您的 TextView 添加手势识别器
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myTextViewTapped:)];
[myTextView addGestureRecognizer:tapGestureRecognizer];
  • 点击显示菜单 Controller
- (void)myTextViewTapped:(id)sender {
NSLog(@"my text view is tapped");
// display menu now!

}
  • 如果您的菜单 Controller 依赖于单个单元格,那么您可以使用行号作为 textView 的标签并显示相关的菜单 Controller
// in your tableview cellForRowAtIndexPath method

myTextView.tag = indexPath.row;

// in your selector

UITextView *myTextView = (UITextView *)sender;
int rowNumber = myTextView.tag;

关于ios - UIMenucontroller 与 uitableviewcell 上的 uitextview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24818937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com