iOS 隐藏UITextView 、UITextField 长按弹出菜单栏

iOS 17之后,长按会有一个自动填充的菜单,以及文本选中后的菜单改如何隐藏呢?可以用如下方法来隐藏。

  • 创建一个类,继承UITextView或者UITextField
  • 重新相关方法 canPerformAction:withSender:buildMenuWithBuilder

相关代码如下

swift 复制代码
//
//  CNTextView.m
//  test3
//
//  Created by xxx on 2024/8/2.
//

#import "CNTextView.h"

@implementation CNTextView

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

-(void)buildMenuWithBuilder:(id<UIMenuBuilder>)builder{
    if (@available(iOS 17.0, *)) {
        //隐藏自动填充
        [builder removeMenuForIdentifier:UIMenuAutoFill];
    }
    [super buildMenuWithBuilder:builder];
}

//隐藏其他菜单按钮
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    return NO;
}

@end
相关推荐
00后程序员张5 小时前
如何提高 IPA 安全性 多工具组合打造可复用的 iOS 加固与反编译防护体系(IPA 安全 iOS 加固 无源码混淆 Ipa Guard 实战)
android·安全·ios·小程序·uni-app·iphone·webview
洞窝技术8 小时前
前端开发APP之跨平台开发(ReactNative0.74.5)
android·react native·ios
EricStone9 小时前
iOS语音转换SDK相关记录
ios
Bruce_Liuxiaowei9 小时前
Mac与Kali主机间SSH连接故障排除:主机密钥变更的解决方案
运维·macos·网络安全·ssh
2501_9387802810 小时前
Objective-C 类的协议(Protocol)应用:解耦父子类与跨类通信实践
开发语言·macos·objective-c
2501_9160074710 小时前
Fastlane 结合 开心上架 命令行版本实现跨平台上传发布 iOS App
android·ios·小程序·https·uni-app·iphone·webview
wa的一声哭了11 小时前
Mac os安装Easyconnect卡在正在验证软件包
运维·服务器·git·macos·eclipse·github·mac
Jackson@ML11 小时前
在macOS上搭建C#集成开发环境指南
开发语言·macos·c#
00后程序员张11 小时前
iOS 26 内存占用监控 多工具协同下的性能稳定性分析实战
android·macos·ios·小程序·uni-app·cocoa·iphone
sunshine~~~12 小时前
【笔记】macOs arm架构安装虚拟机Ubuntu环境:ROS2 + Python开发
arm开发·笔记·python·macos·ros2