滚动视图 iPhone 内的文本字段
Posted
技术标签:
【中文标题】滚动视图 iPhone 内的文本字段【英文标题】:Textfield inside the scrollView iPhone 【发布时间】:2012-08-28 08:52:25 【问题描述】:我是 iPhone 新手,我的应用程序中有 10 个文本字段位于滚动视图中。 我需要的是当用户触摸文本字段时,scrollview 应该以这种方式滚动,以便文本字段不应该在键盘后面。
帮帮我。
感谢您对我的帮助。
【问题讨论】:
1. 将当前视图向上移动到可见区域 2. 或在键盘显示时减小可见空间的UIScrollView
大小.
【参考方案1】:
像这样覆盖文本字段委托方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
[self scrollViewToCenterOfScreen:textField];
//该方法将当前选中的文本域移动到可见区域
-(void)scrollViewToCenterOfScreen:(UIView *)theView
CGFloat viewCenterY = theView.center.y;
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
CGFloat availableHeight = applicationFrame.size.height - 200; // Remove area covered by keyboard
CGFloat y = viewCenterY - availableHeight / 2.0;
if (y < 0)
y = 0;
[scrollview setContentOffset:CGPointMake(0, y) animated:YES];
当你想关闭键盘时覆盖这个委托
- (BOOL)textFieldShouldReturn:(UITextField *)textField
[textField resignFirstResponder];
[self.scrollview setContentOffset:CGPointMake(0, 0) animated:YES];
return YES;
【讨论】:
以上是关于滚动视图 iPhone 内的文本字段的主要内容,如果未能解决你的问题,请参考以下文章
tableview 中的两个 TextFields,都在滚动视图上,当键盘出现 iPhone 时消失