注意:
从iOS 4.3开始,请参阅已接受的答案(不是最受欢迎的答案).
这个问题是关于在iPad键盘中发现的行为,如果在带有导航控制器的模态对话框中显示,它将拒绝被解雇.
基本上,如果我使用以下行显示导航控制器,如下所示:
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
Run Code Online (Sandbox Code Playgroud)
键盘拒绝被解雇.如果我注释掉这一行,键盘就会消失.
...
我有两个textFields,用户名和密码; username有一个Next按钮,密码有一个Done按钮.如果我在模态导航控制器中显示它,键盘将不会消失.
作品
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
[self.view addSubview:b.view];
Run Code Online (Sandbox Code Playgroud)
什么都不行
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
Run Code Online (Sandbox Code Playgroud)
如果我删除导航控制器部件并将"b"作为模态视图控制器单独显示,则可以正常工作.导航控制器是问题吗?
作品
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
b.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:b animated:YES];
[b release];
Run Code Online (Sandbox Code Playgroud)
作品
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController …Run Code Online (Sandbox Code Playgroud) 我正在使用Swift进行iOS编程,我正在使用此代码移动UITextField,但它不起作用.我keyboardWillShow正确调用该函数,但文本字段不移动.我正在使用autolayout.
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
}
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self);
}
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
//let contentInsets = UIEdgeInsets(top: 0, left: 0, bottom: keyboardSize.height, right: 0)
var frame = self.ChatField.frame
frame.origin.y = frame.origin.y - keyboardSize.height + 167
self.chatField.frame = frame
println("asdasd")
}
}
Run Code Online (Sandbox Code Playgroud) 我UITextfied在点击文本键盘时使用,但是当我按下return键时,键盘没有消失.我使用了以下代码:
func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
resignfirstresponder方法没有进入功能.
我知道当我想解开键盘时,我需要告诉我的UITextField辞职第一响应者,但我不知道如何知道用户何时按下键盘上的"完成"键.我可以留意通知吗?
我现在试图这样做几天,在阅读了大量试图这样做的人的消息之后,我仍然无法UITextField在我的一些人中完全工作UITableViewCells,就像在这个例子中一样:

要么我的表单工作,但文本不可见(虽然我将其颜色设置为蓝色),当我点击它时键盘在场上,我无法正确实现键盘事件.我尝试了一些来自Apple的例子(主要是UICatalog,有一个类似的控件),但它仍然无法正常工作.
有人可以帮我(和所有的人试图实现这种控制)和后一个简单实现的UITextField一个UITableViewCell,工作正常?
是否可以以编程方式更改uitextfield的键盘类型,以便这样的事情可能:
if(user is prompted for numeric input only)
[textField setKeyboardType: @"Number Pad"];
if(user is prompted for alphanumeric input)
[textField setKeyboardType: @"Default"];
Run Code Online (Sandbox Code Playgroud) 如何在UITextField的右侧添加清除文本的小"X"按钮?我找不到在iPhone OS 2.2 SDK中在Interface Builder中添加此子控件的属性.
注意:在Xcode 4.x及更高版本(iPhone 3.0 SDK及更高版本)中,您可以在Interface Builder中执行此操作.
好吧,这个问题让我疯了.
触摸后,键盘弹出约需3-4秒UITextField.这仅在应用程序启动后第一次弹出键盘时发生,之后动画立即启动.
起初我认为这是装载太多图像的问题,或者是我的UITableView,但我刚刚创建了一个只有a的全新项目UITextField,我仍然遇到这个问题.我正在使用iOS 5,Xcode ver 4.2,并在iPhone 4S上运行.
这是我的代码:
#import "ViewController.h"
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.delegate = self;
[self.view addSubview:textField];
}
@end
Run Code Online (Sandbox Code Playgroud)
这是所有应用程序的常见问题吗?
现在,我可以做得更好的唯一方法是textField成为/辞职第一响应者viewDidAppear,但这并不能完全解决问题 - 它只是在视图加载时加载延迟.如果我textField在视图加载时立即点击,我仍然会遇到问题; 如果我在视图加载后等待3-4秒才触摸textField,我不会得到延迟.
我想只在底部保留边框UITextField.但我不知道我们怎么能把它放在最底层.
你能告诉我吗?
我只是实例化一个UITextField并注意到文本不是垂直居中的.相反,它与我的按钮顶部齐平,我觉得有点奇怪,因为我希望默认值垂直居中.如何将其垂直居中,或者是否存在我缺少的默认设置?
ios ×10
uitextfield ×10
cocoa-touch ×5
objective-c ×4
iphone ×3
swift ×3
keyboard ×2
uikeyboard ×2
alignment ×1
uikit ×1
uitableview ×1
xamarin ×1