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
相关推荐
空中海7 小时前
第十二章:iOS高级系统能力与 UIKit 互操作
ios
songgeb14 小时前
用 AI 降低 iOS 客户端 UI 自动化测试难度
ios·测试
我现在不喜欢coding14 小时前
Swift 核心协议揭秘:从 Sequence 到 Collection,你离标准库设计者只差这一步
ios·swift
开心就好202515 小时前
使用Edge和ADB进行Android Webview远程调试的完整教程
前端·ios
SaN-V17 小时前
MacOS 下 VS Code 中 Codex 通过 SSH 连接远程服务器无法使用的问题排查与解决
服务器·macos·chatgpt·ssh·codex
开心就好202517 小时前
iOS应用上架全流程:从证书申请到发布避坑指南
后端·ios
梦想不只是梦与想18 小时前
flutter 与 Android iOS 通信?以及实现原理(一)
android·flutter·ios·methodchannel·eventchannel·basicmessage
一只小白菜19 小时前
[特殊字符] 解决 Mac M5 芯片上 Ollama 运行报错:升级 macOS Tahoe 26.4.1 后恢复正常
macos
冰凌时空20 小时前
30 Apps 第 1 天:待办清单 App —— 数据层完整设计
前端·ios
2501_9159090620 小时前
Xcode从入门到精通:全面解析iOS开发IDE的核心功能与实际应用指南
ide·vscode·ios·个人开发·xcode·swift·敏捷流程