2009-08-14 2 views
0

テキストをコピーして貼り付けるような黒色の光沢ポップアップを作成する方法がありますか?私はちょうどいくつかの情報を与えたいので、私が望む振る舞いは、文字を打ったときにキーボードポップアップが動作する方法に近いですが、私が望む外観はコピー/貼り付けダイアログです。光沢カット/コピーポップアップを作成するためのインターフェイスがあります

これらは公開されているのですか、独自の実装を作成する必要がありますか?

答えて

1

UIKit(UITextField、UITextViewなど)のテキストベースのUIコントロールを使用して、コピー/カット/ペーストのUIが無料で提供されますが、アプリの他の部分と同様のスタイルのUIを使用する場合は自分で作成する必要があります。

0

あなたはUIMenuItemControllerを見たいと思っています。サンプルプロジェクト "CopyPasteTile"はカスタム実装の例です。

これは今朝起きました!

ここでUIViewのサブクラスにカスタムメニュー項目を追加するためのいくつかのサンプルコードは、(それはあなたが適切なターゲットアクションで長押しジェスチャー認識を追加したと仮定し)です:

- (BOOL)canBecomeFirstResponder { 
    return YES; 
} 

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { 
    if (action == @selector(laughOutLoud:)) 
     return YES; 
    return NO; 
} 

- (void)laughOutLoud:(id)sender { 
    NSLog(@"LOL!"); 
} 

- (void)gestureRecognizerDidPress:(UILongPressGestureRecognizer*)recognizer { 
    if ([recognizer state] == UIGestureRecognizerStateBegan) { 
     // Important: the view must become the first responder, 
     // and implement the canBecomeFirstResponder method. 
     [self becomeFirstResponder]; 
     UIMenuController *controller = [UIMenuController sharedMenuController]; 
     UIMenuItem *testItem1 = [[UIMenuItem alloc] initWithTitle:@"Laugh" action:@selector(laughOutLoud:)]; 
     [controller setMenuItems:[NSArray arrayWithObject:testItem1]]; 
     [controller update]; 
     // In real life, the target rect should represent the selection 
     [controller setTargetRect:CGRectZero inView:self]; 
     [controller setMenuVisible:YES animated:YES]; 
    } 
}