gpt4 book ai didi

iphone - UIMenuController 自定义项

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

我创建了一个 UIMenuController 并将其设置为自定义菜单项,如下所示:

UIMenuController *menuController = [UIMenuController sharedMenuController];
UIMenuItem *item1 = [[UIMenuItem alloc] initWithTitle:@"Do This" action:@selector(item1)];
[menuController setMenuItems:[NSArray arrayWithObject:item1]];

但我希望该对象是唯一出现的对象,所以我添加了以下代码:

- (BOOL)canPerformAction: (SEL)action withSender: (id)sender {
BOOL answer = NO;

if (action == @selector(item1))
answer = YES;

return answer;
}

问题是它仍然显示其他## Heading ## 项,例如“选择”、“全选”和“粘贴”。这可能与显示在 UITextView 中有关。但是如果不显示所有其他项目,我该如何停止呢?

最佳答案

我认为这是您想要子类化 UITextView 的少数情况之一。我刚刚使用以下代码进行了尝试,唯一显示的菜单项是我的 Do Something 项。

来 self 的TestViewController.m

@implementation TestViewController

- (void) doSomething: (id) sender
{
NSLog(@"Doing something");
}

- (void) viewDidLoad
{
UIMenuController *menuController = [UIMenuController sharedMenuController];
UIMenuItem *item = [[[UIMenuItem alloc] initWithTitle: @"Do Something"
action: @selector(doSomething:)] autorelease];
[menuController setMenuItems: [NSArray arrayWithObject: item]];
}

@end

我的 MyTextView.h 的代码:

//  MyTextView.h

#import <UIKit/UIKit.h>

@interface MyTextView :UITextView {

}

@end

MyTextView.m 的代码:

//  MyTextView.m

#import "MyTextView.h"

@implementation MyTextView

- (BOOL) canPerformAction:(SEL)action withSender:(id)sender
{
return NO;
}

@end

关于iphone - UIMenuController 自定义项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537795/

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