滚动视图 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 内的文本字段的主要内容,如果未能解决你的问题,请参考以下文章

iPhone-在表格视图滚动文本字段设置为零

iPhone:滚动网页视图时需要保持键盘向上吗?

tableview 中的两个 TextFields,都在滚动视图上,当键盘出现 iPhone 时消失

iPhone:在模态视图标签栏中创建滚动图像/文本视图

滚动到滚动视图/滚动视图中的特定文本字段 当键盘在屏幕上时停止滚动

iphone动态滚动视图的问题