【问题标题】:Hide UIMenuController in UITextView在 UITextView 中隐藏 UIMenuController
【发布时间】: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 复制全选。如果我仍然遗漏任何东西或做错了什么,请告诉我。

感谢您的帮助。

【问题讨论】:

    标签: iphone uitextview subclass uigesturerecognizer uimenucontroller


    【解决方案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
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-16
        • 2018-01-27
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多