Kyl*_*oza 17 iphone cocoa objective-c ipad
我正在尝试在UITextView中的"复制","粘贴"项旁边添加一个菜单项.我已经创建了一个UITextView的子类,并在这里复制了apple的docs中的示例:
我只是在IB中创建了一个UiTextView,并将其类设置为我的CustomTextView类.不幸的是,这不起作用.虽然,如果我将CustomTextView设置为UIView的子类,它可以很好地工作.这里有什么帮助?
我还在这里做了一个非常简单的示例项目:
apps.popsweet.com/TextViewTrial.zip
Kyl*_*oza 39
所以我最终使用了以下我想要的结果,我将以下块放在我的视图控制器的viewDidLoad方法中,因为Alex暗示:
- (void)viewDidLoad {
[super viewDidLoad];
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Change Color" action:@selector(changeColor:)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];
[menuItem release];
}
Run Code Online (Sandbox Code Playgroud)
然后我将以下内容添加到视图控制器,以便在UITextView中选择文本时有条件地显示该项目,我将其命名为"textView":
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(changeColor:)) {
if (textView.selectedRange.length > 0) {
return YES;
}
}
return NO;
}
Run Code Online (Sandbox Code Playgroud)
我选择在视图控制器中放置canPerformAction:withSender:方法而不是自定义UITextView类,因为这样其他选项(例如复制,剪切,粘贴等)的行为与通常的一样,因为在每个对象上调用该方法响应者链.
| 归档时间: |
|
| 查看次数: |
13023 次 |
| 最近记录: |