UITextFieldのカーソル位置に文字列を挿入
リファレンスにあたってもUITextFieldのカーソル位置への文字列挿入を見つけられなかったので、クリップボードに文字列突っ込んで、ペーストしてみた。
- (void)insertText:(NSString *)str { UIPasteboard* board = [UIPasteboard generalPasteboard]; // 現在のクリップボードの文字列を保持する NSString *orgStr = board.string; // クリップボードに挿入したい文字列をコピーする [board setString:str]; // UITextField上でペーストする [textField paste:textField]; // クリップボードの文字列を復元する [board setString:orgStr]; }
文字列以外のクリップボードの情報が損なわれないかは検証してませんので、その点はご了承ください。