【发布时间】:2012-10-27 11:00:35
【问题描述】:
我想通过代码从剪贴板中过去,而不用在 iPhone 中切换屏幕,有人知道吗?
我想用不像这些的代码来做这些操作。
嗯,问这些是否可能,或者在那种情况下访问iOS?
【问题讨论】:
标签: iphone objective-c ios xcode keyboard
我想通过代码从剪贴板中过去,而不用在 iPhone 中切换屏幕,有人知道吗?
我想用不像这些的代码来做这些操作。
嗯,问这些是否可能,或者在那种情况下访问iOS?
【问题讨论】:
标签: iphone objective-c ios xcode keyboard
[UIPasteboard generalPasteboard] 为您提供了一个UIPasteboard 的实例,它为用户当前的剪贴板内容忏悔。像这样使用它
- (IBAction)pasteButtonPressed {
self.myTextView.text = [[UIPasteboard generalPasteboard] string];
}
【讨论】:
UIResponderStandardEditActions 非正式协议声明了为此目的而设计的paste: 方法。 UITextView(连同其他UIResponder 子类)符合此非正式协议,因此响应此方法。
这样做的好处是可以管理粘贴操作的各个方面,尤其是在插入点的位置粘贴文本,或者替换选定的文本(如果有的话),就像经典的粘贴操作一样。
另一种解决方案是在您的文本视图中自己插入UIPasteboard 中包含的文本。但请确保在这种情况下替换 selectedTextRange(选定的文本或插入点),而不是替换 UITextView 的全部内容。
为此,请使用 UITextView 实现 UITextInput 正式协议这一事实,该协议声明了处理管理文本输入的对象所需的每个方法(如 UITextView、UITextField等)尤其是replaceRange:withText: 和selectedTextRange:
NSString* pasteboardText = [[UIPasteboard generalPasteboard] string];
[self.myTextView replaceRange:self.myTextView.selectedTextRange withText:pasteboardText];
【讨论】: