一个UISrcollView中多个UITextField的滚动处理

本文介绍了一个UITextField在获得焦点时,UIScrollView自动滚动至 UITextField 的实现方法。通过记录 UIScrollView 的原始位置,当 UITextField 开始编辑时调整 UIScrollView 的偏移量,使 UITextField 处于可见区域,并在 UITextField 编辑结束时恢复原始位置。
部署运行你感兴趣的模型镜像

摘译自: http://stackoverflow.com/questions/484855/how-programatically-move-a-uiscrollview-to-focus-in-a-control-above-keyboard

使用一个实例变量记录视图在为键盘调整之前的位置,以用于当UITextField返回时恢复到之前的状态。

//header
@interface TheViewController : UIViewController <UITextFieldDelegate> {
    CGPoint svos;
}
//implementation
- (void)textFieldDidBeginEditing:(UITextField *)textField {
    svos = scrollView.contentOffset;
    CGPoint pt;
    CGRect rc = [textField bounds];
    rc = [textField convertRect:rc toView:scrollView];
    pt = rc.origin;
    pt.x = 0;
    pt.y -= 60;
    [scrollView setContentOffset:pt animated:YES];           
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [scrollView setContentOffset:svos animated:YES]; 
    [textField resignFirstResponder];
    return YES;
}

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值