gpt4 book ai didi

iphone - 如何将自定义 UIMenuItem 添加到 UITextView 中的 UIMenuController?

转载 作者:太空狗 更新时间:2023-10-30 03:15:25 38 4
gpt4 key购买 nike

我正在尝试在 UITextView 中的“复制”、“粘贴”项旁边添加一个菜单项。我创建了 UITextView 的子类,并从此处复制了苹果文档中的示例:

http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/Text/Text.html#//apple_ref/doc/uid/TP40009370-CH8-SW28

我只是在 IB 中创建了一个 UiTextView,并将其类设置为我的 CustomTextView 类。不幸的是,这没有用。虽然,如果我将 CustomTextView 设置为 UIView 的子类,效果很好。有什么帮助吗?

我还针对我的情况做了一个非常简单的示例项目:

apps.popsweet.com/TextViewTrial.zip

最佳答案

所以我最终使用了以下结果,我按照 Alex 的提示将以下 block 放在我的 View Controller 的 viewDidLoad 方法中:

- (void)viewDidLoad {
[super viewDidLoad];

UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Change Color" action:@selector(changeColor:)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];
[menuItem release];
}

然后我将以下内容添加到 View Controller ,以便在我命名为“textView”的 UITextView 中选择文本时有条件地显示该项目:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(changeColor:)) {
if (textView.selectedRange.length > 0) {
return YES;
}
}
return NO;
}

我选择将 canPerformAction:withSender: 方法放在 View Controller 中而不是自定义 UITextView 类中,因为这样其他选项(例如复制、剪切、粘贴等)的行为与调用该方法后的正常行为一样在响应者链上的每个对象上。

关于iphone - 如何将自定义 UIMenuItem 添加到 UITextView 中的 UIMenuController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267296/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com