2009-10-07 33 views

Trả lời

16

Bạn có thể tự hiển thị menu Cắt/Sao chép/Dán bằng cách sử dụng UIMenuController class. Ví dụ, đoạn mã sau sẽ hiển thị menu, tập trung vào hình ảnh của bạn:

[self becomeFirstResponder]; 

UIMenuController *copyMenuController = [UIMenuController sharedMenuController]; 

[copyMenuController setTargetRect:image.frame inView:self.view]; 
[copyMenuController setMenuVisible:YES animated:YES]; 

này giả định rằng bạn sẽ được thực hiện mã này trong một UIViewController cho quan điểm cho rằng tổ chức hình ảnh của bạn.

Để kích hoạt các mục trình đơn khác nhau, bạn cũng sẽ cần phải thực hiện một vài phương pháp đại biểu trong điều khiển của bạn:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(cut:)) 
     return NO; 
    else if (action == @selector(copy:)) 
     return YES; 
    else if (action == @selector(paste:)) 
     return NO; 
    else if (action == @selector(select:) || action == @selector(selectAll:)) 
     return NO; 
    else 
     return [super canPerformAction:action withSender:sender]; 
} 

- (BOOL)canBecomeFirstResponder 
{ 
    return YES; 
} 

Trong trường hợp này, chỉ có menu tùy chọn Copy sẽ được kích hoạt. Bạn cũng cần phải triển khai phương thức -copy: thích hợp để xử lý những gì xảy ra khi người dùng chọn mục trình đơn đó.

Các vấn đề liên quan