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