文档章节

uitextfield 被 键盘阻档的解决方法

李志华
 李志华
发布于 2014/12/25 23:13
字数 164
阅读 14
收藏 0

#import "ViewController.h"
#define PhoneScreenWidth [[UIScreen mainScreen] bounds].size.width
#define PhoneScreenHeight [[UIScreen mainScreen] bounds].size.height

@interface  ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UIScrollView *uisv;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    //foucsTextField = textField;
    self.uisv.contentSize = CGSizeMake(PhoneScreenWidth,PhoneScreenHeight +216);//216是键盘固定高度
    
   CGPoint pt = [textField convertPoint:CGPointMake(0, 0) toView:self.uisv];    
   [self.uisv setContentOffset:CGPointMake(0, pt.y-20) animated:YES]; //滑动到当前坐标上 20是sturtbar高度
}

- (BOOL)textFieldShouldReturn:(UITextField*)theTextField
{
    {
        [theTextField resignFirstResponder];
        
        //开始动画
        [UIView beginAnimations:nil context:nil];
        //设定动画持续时间
        [UIView setAnimationDuration:0.3];
        //self.uisv.frame = CGRectMake(0, 20, PhoneScreenWidth, PhoneScreenHeight);
        self.uisv.contentSize = CGSizeMake(PhoneScreenWidth,PhoneScreenHeight);
        //动画结束
        [UIView commitAnimations];
    }
    return YES;
}

@end

© 著作权归作者所有

上一篇: ios图文并排
李志华
粉丝 0
博文 7
码字总数 1470
作品 0
珠海
私信 提问
iOS 重写becomeFirstResponder来实现PlaceholderLabel左右抖动,但是只能执行一次重写方法

有2个UITextField,分别是userName和password,当userName这个UITextField是firstResponder时,其PlaceholderLabel能够进行动画,从右往左移动。 于是重写了becomeFirstResponder方法,如下图:...

你说我乖_我说你靓
2016/10/17
384
1
UITextField 文本字段控件-IOS开发

进入本文之前建议你认真读一读我的另一篇博文:《UIControl IOS控件编程—IOS开发》http://blog.csdn.net/iukey/article/details/7300412 这样会起到事半功倍效果。 再就是用到UITextField,...

junwong
2012/03/05
1K
1
UITextField一些技巧总结

我们在项目中肯定要用到UITextField允许用户输入,比如在登录、注册界面。小小的TextField有必要专门出一篇教程吗?当然是有必要的,因为使用场景不同,所以就有了不同的需求,本篇博客结合自...

召唤攻城狮
2014/03/24
1K
0
Objective-C --- - UITextField(梳理总结)

//省的下面打 先定义好来 #define kWidthOfScreen ([UIScreen mainScreen].bounds.size.width) #define kHeightOfScreen ([UIScreen mainScreen].bounds.size.height) @interface ViewContr......

都英俊兮
2016/06/07
38
0
UIViewControllerKeyboardAdditions

UIViewControllerKeyboardAdditions 能够帮助你的键盘不会阻档你的输入框,合理的收起并控制输入框的位置。有需要的同学来看看吧。 [Code4App.com]...

叶秀兰
2015/03/30
635
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL左连接问题,右表做筛选,左表列依然在

两张表,一张user表,一张user_log表 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFA......

bengozhong
22分钟前
4
0
重新开始学Java——多线程基础

多线程 进程 主流计算机操作系统都支持同时运行多个任务 , 每个任务通常就是一个程序 , 每个运行中的程序就是一个进程或者多个进程 。 进程的特点 独立性 进程是系统中独立存在的实体 可以...

大家都是低调来的
23分钟前
4
0
注解在Java中是如何工作的?

> 来一点咖啡,准备好进入注解的世界。 注解一直是 Java 的一个非常重要的部分,它从 J2SE 5.0 开始就已经存在了。在我们的应用程序代码中,经常看到 @Override 和 @Deprecated 这样的注解。...

liululee
25分钟前
12
0
Docker 容器连接

Docker 容器连接 容器间的链接有两种方法,你选择其一即可 网络端口映射 docker run -d -P docker run -d -p-P :是容器内部端口随机映射到主机的高端口。-p : 是容器内部端口绑定到指定...

测者陈磊
28分钟前
5
0
车载导航应用中基于Sketch UI主题定制方案的实现

1.导读 关于应用的主题定制,相信大家或多或少都有接触,基本上,实现思路可以分为两类: 内置主题(应用内自定义style) 外部加载方式(资源apk形式、压缩资源、插件等) 其实,针对不同的主题...

阿里云官方博客
34分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部