iphone – 如何在UITextView中向UIMenuController添加自定义UIMenuItem?

iphone – 如何在UITextView中向UIMenuController添加自定义UIMenuItem?,第1张

概述我试图添加一个菜单项旁边的“复制”,“粘贴”项目在UITextView。我创建了一个UITextView的子类,并从apple的文档中复制了这个例子: http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/Text/Text.html#//apple_ref/d 我试图添加一个菜单项旁边的“复制”,“粘贴”项目在UITextVIEw。我创建了一个UITextVIEw的子类,并从apple的文档中复制了这个例子:

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

解决方法 所以我最终使用了我想要的结果,我将以下块放在我的视图控制器的vIEwDIDLoad方法中,亚历克斯暗示:

- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Change color" action:@selector(changecolor:)];    [[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];    [menuItem release]; }

然后,我将以下内容添加到视图控制器中,以便在UITextVIEw中命名“textVIEw”时选择文本时有条件地显示该项目:

- (BOol)canPerformAction:(SEL)action withSender:(ID)sender {    if (action == @selector(changecolor:)) {        if (textVIEw.selectedRange.length > 0) {            return YES;        }    }    return NO;}

我选择将canPerformAction:withSender:method放在视图控制器而不是自定义UITextVIEw类中,因为这样,其他选项(例如,复制,剪切,粘贴等)的行为通常会因为在每个对象上调用该方法响应者链。

总结

以上是内存溢出为你收集整理的iphone – 如何在UITextView中向UIMenuController添加自定义UIMenuItem?全部内容,希望文章能够帮你解决iphone – 如何在UITextView中向UIMenuController添加自定义UIMenuItem?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1035362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存