Ric*_*nop 57 iphone xcode objective-c ios programmatically-created
更新:
我还尝试实现UITextViewDelegate委托,然后在我的控制器中执行:
- (BOOL)textViewShouldEndEditing:(UITextView *)textView
{
[textView resignFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我还将文本视图的委托设置为self(控制器视图实例).
单击完成按钮仍然只插入一个新行:(
更新:
到目前为止我做了什么.我已经通过我的视图控制器实现了一个UITextFieldDelegate.
我已经通过插座将文本视图连接到视图控制器.
然后我做了:
self.myTextView.delegate = self;
Run Code Online (Sandbox Code Playgroud)
和:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
但是当我点击完成按钮时,它只会添加一个新行.
所以我的场景中有一个UITextView元素,当用户点击它时,会出现键盘并可以编辑它.
但是,我无法解雇键盘.
如何将Done按钮添加到键盘以便可以将其解除?
Seb*_*ger 122
这很简单:)
[textField setReturnKeyType:UIReturnKeyDone];
Run Code Online (Sandbox Code Playgroud)
用于解除键盘实现<UITextFieldDelegate>类中的协议,设置
textfield.delegate = self;
Run Code Online (Sandbox Code Playgroud)
并使用
- (void)textFieldDidEndEditing:(UITextField *)textField {
[textField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
要么
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
Mik*_*e Z 18
进入故事板,选择文本字段,在属性检查器下面有一个选项,显示"返回键"...选择"完成".
然后进入ViewController并添加:
- (IBAction)dismissKeyboard:(id)sender;
{
[textField becomeFirstResponder];
[textField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
然后返回到您的文本字段,单击出口并链接"退出时结束"以解除关键操作.
ViJ*_*had 15
添加UIToolBar作为自定义视图,其中包含Done按钮作为UIBarButtonItem.
这是将Done按钮添加到任何类型键盘的更安全,更清晰的方法.创建UIToolBar为其添加Done Button并设置任何UITextField或UITextView的inputAccessoryView.
UIToolbar *ViewForDoneButtonOnKeyboard = [[UIToolbar alloc] init];
[ViewForDoneButtonOnKeyboard sizeToFit];
UIBarButtonItem *btnDoneOnKeyboard = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleBordered target:self
action:@selector(doneBtnFromKeyboardClicked:)];
[ViewForDoneButtonOnKeyboard setItems:[NSArray arrayWithObjects:btnDoneOnKeyboard, nil]];
myTextField.inputAccessoryView = ViewForDoneButtonOnKeyboard;
Run Code Online (Sandbox Code Playgroud)
IBAction For Done Button
- (IBAction)doneBtnFromKeyboardClicked:(id)sender
{
NSLog(@"Done Button Clicked.");
//Hide Keyboard by endEditing or Anything you want.
[self.view endEditing:YES];
}
Run Code Online (Sandbox Code Playgroud)
SWIFT 3
var ViewForDoneButtonOnKeyboard = UIToolbar()
ViewForDoneButtonOnKeyboard.sizeToFit()
var btnDoneOnKeyboard = UIBarButtonItem(title: "Done", style: .bordered, target: self, action: #selector(self.doneBtnFromKeyboardClicked))
ViewForDoneButtonOnKeyboard.items = [btnDoneOnKeyboard]
myTextField.inputAccessoryView = ViewForDoneButtonOnKeyboard
Run Code Online (Sandbox Code Playgroud)
功能
@IBAction func doneBtnFromKeyboardClicked (sender: Any) {
print("Done Button Clicked.")
//Hide Keyboard by endEditing or Anything you want.
self.view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)
Esq*_*uth 10
Swift版本:
在您的ViewController中:
textField.returnKeyType = UIReturnKeyType.Done
textField.delegate = self
Run Code Online (Sandbox Code Playgroud)
在您的ViewController之后
extension MyViewController: UITextFieldDelegate {
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91453 次 |
| 最近记录: |