在 UITextView 中隐藏 UIMenuController

Posted

技术标签:

【中文标题】在 UITextView 中隐藏 UIMenuController【英文标题】:Hide UIMenuController in UITextView 【发布时间】:2012-05-17 13:42:16 【问题描述】:

子类 UITextView

这里是h文件

@interface CTextView : UITextView 

@end

这是m文件代码

#import "CTextView.h"
@implementation CTextView


- (BOOL)canBecameFirstResponder 
return NO;

@end

这是第一个 UIViewController 文件,其中子类 UITextview 正在使用

#import "First.h"
#import "CTextView.h"


textView = [[[CTextView alloc] initWithFrame:CGRectMake(0, 0, 320, 410)]autorelease];
[self.view addSubview:textView];

但仍然无法阻止从 UITextView 复制全选。如果我仍然遗漏任何东西或做错了什么,请告诉我。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

使用它来禁用复制:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender

    return NO;

【讨论】:

【参考方案2】:

知道了。现在它正在工作

这里是供需要的人参考的代码

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender

    
[UIMenuController sharedMenuController].menuVisible = NO; //do not display the menu
if (action == @selector(copy:))


    return NO;  



else  if (action == @selector(selectAll:))

    return NO; 



[self resignFirstResponder];                      //do not allow the user to selected anything
return NO;

return [super canPerformAction:action withSender:sender];

现在唯一的问题是缩放。现在我必须努力从 UITextView 禁用它。

【讨论】:

【参考方案3】:

您是否将启用的用户交互设置为“是”?

【讨论】:

textView.editable = NO; scrollView.scrollEnabled = YES;尚未为用户交互设置任何内容 textView.userInteractionEnabled = NO; 那么我将无法使用我需要的滚动功能 em,也许你需要 UILabel 而不是 textView

以上是关于在 UITextView 中隐藏 UIMenuController的主要内容,如果未能解决你的问题,请参考以下文章

滑动手势以隐藏 UITextView 内的键盘

在自动布局中隐藏 UITextView 和 UILabel

隐藏 iOS 键盘预测文本栏 - UITextView / UITextField

键盘在UIViewController Xamarin IOS中隐藏了UITextView

UITextView在输入时隐藏文本

UITextView 隐藏文本