【发布时间】:2011-05-25 20:12:59
【问题描述】:
我想在UITextField & UITextView 的方法中加入类似的内容。
- (void)changeKeyboardType:(UIKeyboardType)keyboardType {
paymentTextView.keyboardType = UIKeyboardTypeAlphabet;
[paymentTextView resignFirstResponder];
[paymentTextView becomeFirstResponder];
}
我该怎么做?我知道我可以同时为UITextField 和UITextView 创建类别,但是可以一次性完成吗?
我的意思是用一个协议将它添加到两个类中,而不是创建两个类别,一个用于UITextView,一个用于UITextField。我听说一个协议类似于 Ruby 模块,但是在 Ruby 模块中,我可以实现该方法。在一个协议中,似乎我只能声明方法但不能实现它。是否也可以实现协议中的方法,然后将这个协议包含在UITextField&UITextView中?
How to add a method to an existing protocol in Cocoa? 接近但不完全。
【问题讨论】:
-
为什么需要一个类别?你也可以用一个简单的方法来做到这一点,只需将文本字段或文本视图作为参数传递。
-
@Nick Weaver,我不需要类别,但是创建一个类别,然后在
.pch文件中包含该类别可以让我轻松地在任何文件中重用相同的方法。
标签: iphone objective-c ios uitextfield uitextview