- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 UIScrollView,其中有一个 UITextField,所以我所做的是在第三个文本字段(密码)上向下滚动 UIScrollView 的偏移量:
#pragma mark UITextFieldDelegate
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if ((textField == self.emailTextField_ || textField == self.passwordTextField_)){
if (self.scrollView_.contentOffset.y != self.emailTextField_.frameY - self.emailTextField_.frameHeight/2){
shouldAdjustOffset = YES;
} else {
shouldAdjustOffset = NO;
}
if (shouldAdjustOffset){
[self.scrollView_ setContentOffset:CGPointMake(0, self.emailTextField_.frameY - self.emailTextField_.frameHeight/2) animated:YES];
}
}
}
-(BOOL) textFieldShouldReturn:(UITextField *)textField
{
if (textField == self.firstNameTexField_){
[self.firstNameTexField_ resignFirstResponder];
[self.lastNameTextField_ becomeFirstResponder];
} else if (textField == self.lastNameTextField_){
[self.lastNameTextField_ resignFirstResponder];
[self.emailTextField_ becomeFirstResponder];
} else if (textField == self.emailTextField_){
[self.emailTextField_ resignFirstResponder];
[self.passwordTextField_ becomeFirstResponder];
} else if (textField == self.passwordTextField_){
[self signupButtonPressed:nil];
[self.passwordTextField_ resignFirstResponder];
}
return YES;
}
现在的问题是,当我在下一个文本字段上时,它会将内容偏移量重置回 0,当我这样做时:
[self.emailTextField_ resignFirstResponder];
[self.passwordTextField_ becomeFirstResponder];
.我怎样才能防止这种情况发生?
最佳答案
只需在显示键盘之前关闭 scrollview 滚动(成为 FirstResponder)并启用它之后的滚动,
scrollView.scrollEnabled = NO;
[someControl becomeFirstResponder];
scrollView.scrollEnabled = YES;
[scrollview doTheScrollingHere];
关于iphone - becomeFirstResponder 重置 contentOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809119/
这个问题在这里已经有了答案: Display keyboard without animation (7 个答案) 关闭 9 年前。 只是一个简单的问题,每次我调用 UITextField 的 Be
我目前正在尝试创建一个类似于 Apple Reminders 的待办事项应用。现在,当我通过单击 UIButton 添加新任务时,将创建一个包含 UITextfield 的新单元格并将其指定为第一响应
我有一个 UITextField,用户可以在其中输入他们的名字。当他们点击按钮时,我的应用程序会检查以确保他们确实输入了某些内容。如果他们没有,我会出现一个警告 View ,然后在下面我有这段代码:
我有以下 viewDidLoad 方法: - (void)viewDidLoad { NSLog(@"didLoad"); if (self.loginField.text.lengt
在将其 .hidden 属性设置为 NO 后,我将焦点转移到 UITextView。当我设置 [textView becomeFirstResponder] 时,textView 获得小打字光标,但键
我有一个 View Controller ,其 viewDidLoad 方法在其关联 View 中包含的文本字段(电子邮件)上调用 becomeFirstResponder: -(void) view
我有一个 View 支持复制并使用以下代码显示编辑菜单: if ([self becomeFirstResponder]) { // bring up edit menu. UIMen
我在每个 UITableViewRow 上都有两个 UITextFields,由于某种原因,当我在 UIKeyboard 上按下回车键时,一个特定的行两个 UITextFields 都不会响应(光标不
是否有一种标准方法可以确保键盘出现在屏幕上并且不会消失?我已将我的 textView 设置为第一响应者,以确保键盘显示,但我希望文本出现在 textView 中(让用户知道要输入什么字段),当我成为第
我想将我的 UITextfield 放在底部工具栏中,所以在 ViewWillAppear 上我写了以下代码: textBarcode.BecomeFirstResponder (); 但是 text
我的应用程序的一个目标是管理多个自定义输入 View (来自 nibs)以及常规系统键盘。一个或另一个将永远存在。 (在示例代码中,我只管理一个 Nib + 系统键盘)。 更换键盘时,我想保留您在系统
我在 UITableView 的第一个单元格中有 UITextField,每当它更改时,表格也会更改。问题是,当表更新时,该字段失去第一响应者状态,并且 becomeFirstResponder 不会
在我的应用中,用户可以输入他们的名字。 UITextField 被添加到 View 并调用 becomeFirstResponder。在 textFieldShouldReturn 方法中,调用 re
嗨。我用指纹写了一个代码。当指纹失败时,您可以点击“输入密码”,然后密码 textField 将 becomeFirstResponder()。我的问题在这里:当我点击那个按钮时,它执行 become
我有一个 UIAlertController,在我的应用程序上显示了一个 textField。选择了 textField(标记在其中闪烁)并且在 textField 上设置了 .becomeFirst
我正在使用带有自定义单元格的 UIColletion View ,其中包含 UITextField。正如我发现的那样,当 textField 成为第一响应者时,collectionView 会自动滚动
我有一个包含一个部分和许多行的分组 UITableViewController。每个 cell 包含两个元素:一个带有描述的 UILabel 和一个用于输入的 UITextField。一种形式,我会说
第一次调用 becomeFirstResponder 时,速度很慢。 Instruments 测量大约 160 毫秒......当它完成加载所有它必须加载的东西以便在屏幕上显示键盘时,键盘就会出现!杀
在我的程序中,我需要显示来自文本字段的文本,它在工具栏中不是用户交互的,它是键盘的附属 View 。当我按下按钮时,这部分工作。然后,如果设备旋转,我需要隐藏键盘。这部分也可以正常工作。但是当我回到
我有一个 UIScrollView,其中有一个 UITextField,所以我所做的是在第三个文本字段(密码)上向下滚动 UIScrollView 的偏移量: #pragma mark UITextF
我是一名优秀的程序员,十分优秀!