iOS 开发 界面上移

本文介绍了如何在iOS应用中处理键盘弹起时界面被遮挡的问题。通过在`viewDidLoad`中注册键盘事件监听器,并实现`keyboardWillShow:`和`keyboardWillHide:`方法,进行视图的上移和下移动画,确保用户能正常填写数据。在`dealloc`方法中移除监听器以释放资源。

1.- (void)viewDidLoad 中

        //注册通知监听器,监听键盘弹起事件

    [[NSNotificationCenter defaultCenter]addObserver:selfselector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotificationobject:nil];

    

    //注册通知监听器,监听键盘收起事件

    [[NSNotificationCenter defaultCenter]addObserver:selfselector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotificationobject:nil];

    

 

2.

    //屏幕有限,键盘弹起会遮挡填写数据的界面。程序界面上移,改变Y坐标,实现弹起和落下的效果。。。在ViewDidLoad方法中添加键盘弹起和关闭事件的监听

 

  //键盘弹出时激发该方法

-(void)keyboardWillShow:(NSNotification*)notification

{

    //开始视图升起动画效果

    [UIView beginAnimations:@"keyboardWillShow" context:nil];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    

    //获取主视图View的位置

    CGRect rect=self.view.frame;

    rect.origin.y = -60;

    

    //更改主视图View的位置

    self.view.frame  = rect;

    

    //结束动画

    [UIView commitAnimations];

 

}

 

   //键盘关闭时激发该方法

-(void)keyboardWillHide:(NSNotification*)notification

{

    //开始视图下降动画效果

    [UIView beginAnimations:@"keyboardWillHide" context:nil];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    

    //获取主视图View的位置

    CGRect rect = self.view.frame;

    rect.origin.y = 0;

    

    //恢复主视图View的位置

    self.view.frame = rect;

    

    //结束动画

    [UIView commitAnimations];

    

}

 

-(void)dealloc

{

    //移除通知监听器

    [[NSNotificationCenter defaultCenter]removeObserver:self];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值