首页 > 系统 > iOS > 正文

iOS屏幕根据键盘自动变化高度

2020-07-26 02:45:56
字体:
来源:转载
供稿:网友

一、效果图

二、代码

ViewController.h

#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UITextFieldDelegate>@end

ViewController.m

#import "ViewController.h"#define W [UIScreen mainScreen].bounds.size.width#define H [UIScreen mainScreen].bounds.size.height@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {  [super viewDidLoad];  // Do any additional setup after loading the view, typically from a nib.      UITextField *field=[[UITextField alloc]initWithFrame:CGRectMake(100, 300, 50, 50)];  field.backgroundColor=[UIColor redColor];  field.delegate=self;  [self.view addSubview:field];}#pragma -mark -UITextFieldDelegate-(BOOL)textFieldShouldReturn:(UITextField *)textField{  [textField resignFirstResponder];    //self.view 恢复原位  NSTimeInterval animationDuration=0.10f;  [UIView beginAnimations:@"ResizeForKeyboard" context:nil];  [UIView setAnimationDuration:animationDuration];  float width = W;  float height = H;  float Y = 0.0f;  CGRect rect=CGRectMake(0.0f,Y,width,height);  self.view.frame=rect;  [UIView commitAnimations];    return YES;}-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{  NSTimeInterval animationDuration=0.30f;  [UIView beginAnimations:@"ResizeForKeyboard" context:nil];  [UIView setAnimationDuration:animationDuration];  float width = W;  float height = H;  //上移100个单位,按实际情况设置  CGRect rect=CGRectMake(0.0f,-100,width,height);  self.view.frame=rect;  [UIView commitAnimations];    return YES;}- (void)didReceiveMemoryWarning {  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}@end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表