4

iMessageネイティブアプリのようなiPhoneアプリケーションで作業しています。バブルも追加された iMessage のようなページをデザインしました。私がやった方法は、UITextView in UITableView Cell and also i have added UIImageView on UITextView with bubble images.

テキストを NSMutableArray から UITextView に読み込みます。正常に動作しています。今、私の疑問は次のとおりです。

  1. iMessageアプリで、彼らはそれを設定しましたwhen the user hold the bubble they making the text as selectable and showing Copy option. 私のアプリwhen the user hold a bubble the Copy option showing but some particular text only copyingで。すべてのテキストを選択し、ユーザーにコピー オプションを表示するにはどうすればよいですか?

  2. iMessage アプリで、選択領域 (選択の開始と選択の終了にある 2 行) が表示されません。しかし、私のアプリではselection regions are showing how can i manage that?

この問題を解決するのを手伝ってくれませんか? 前もって感謝します。

4

2 に答える 2

7

最後に、以下のコードで使用されている問題を解決しました。UITextView からすべてのコンテンツを選択し、メッセージをコピーするための [コピー] オプションをユーザーに表示できるようになりました。参照用のコードを見つけてください。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(copy:))
    {
        [self selectAll:self];

        return YES;
    }
    else if (action == @selector(cut:))
    {
        return NO;
    } 
        return NO;
}


- (void)copy:(id)sender 
{
    UIPasteboard *pastBoard = [UIPasteboard generalPasteboard];
    [pastBoard setString:self.text];
    self.selectedTextRange = nil;
}

ハッピーコーディング。

于 2012-09-14T12:59:26.880 に答える
1

ここで、テキストを選択する方法UITextView

[textView setSelectedRange:NSMakeRange(row, length)];

ここで、row選択を開始する行を示します。lengthテキストの全長です。

e.g. [textView setSelectedRange:NSMakeRange(1, 45)]; // where 1 is first row, and 45 is length of text of selection.
于 2012-09-13T10:20:50.907 に答える