ios – 键盘出现时移动UIView

ios – 键盘出现时移动UIView,第1张

概述我有两个UITextViews,一个位于UIView顶部的另一个UIView底部. 我使用此代码,在键盘出现时移动UIView. - (void) viewDidLoad{[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keybo 我有两个UITextVIEws,一个位于UIVIEw顶部的另一个UIVIEw底部.

我使用此代码,在键盘出现时移动UIVIEw.

- (voID) vIEwDIDLoad{[[NSNotificationCenter defaultCenter] addobserver:self                                selector:@selector(keyboarDWillShow)                                    name:UIKeyboarDWillShowNotification                                  object:nil];[[NSNotificationCenter defaultCenter] addobserver:self                                selector:@selector(keyboarDWillHIDe)                                    name:UIKeyboarDWillHIDeNotification                                  object:nil];}-(voID)keyboarDWillShow {    // Animate the current vIEw out of the way    [UIVIEw animateWithDuration:0.3f animations:^ {        self.frame = CGRectMake(0,-160,320,480);    }];}-(voID)keyboarDWillHIDe {    // Animate the current vIEw back to its original position    [UIVIEw animateWithDuration:0.3f animations:^ {        self.frame = CGRectMake(0,480);    }];}

当我从底部使用UITextVIEw时,它工作得很好.但是我的问题是,当我想使用UIVIEw顶部的UITextVIEw时,键盘出现,UIVIEw向上移动,但我的顶级UITextVIEw也向上移动.请帮助我,如果用户想要从顶部在UITextVIEw上键入文本,我不想移动UIVIEw.

解决方法 我在项目中使用的一个非常简单的方法是TPKeyboardAvoIDing库.

https://github.com/michaeltyson/TPKeyboardAvoiding

下载源代码,将4个文件放入项目中.在InterfaceBuilder中,确保TextVIEws位于UIScrollVIEw或UItableVIEw中,然后将该滚动视图或tablevIEw的类更改为TPAvoIDing子类.

如果您不想这样做,您的另一个选择是检查正在使用哪个TextVIEw,并且仅在您想要的键盘是选定的键盘时设置动画,即:

-(voID)keyboarDWillShow {    // Animate the current vIEw out of the way   if ([self.textFIEldThatNeedsAnimation isFirstResponder]) {        [UIVIEw animateWithDuration:0.3f animations:^ {        self.frame = CGRectMake(0,480);        }];        self.animated = YES;    }}-(voID)keyboarDWillHIDe {    // Animate the current vIEw back to its original position    if (self.animated) {      [UIVIEw animateWithDuration:0.3f animations:^ {          self.frame = CGRectMake(0,480);      }];      self.animated = NO;    }}
总结

以上是内存溢出为你收集整理的ios – 键盘出现时移动UIView全部内容,希望文章能够帮你解决ios – 键盘出现时移动UIView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1017688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存