屏幕适配 和等比缩放

Posted I‘m丶sure

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了屏幕适配 和等比缩放相关的知识,希望对你有一定的参考价值。

#import <UIKit/UIKit.h>

#define WIDTH self.view.frame.size.width

#define HEIGHT self.view.frame.size.height

@interface ViewController : UIViewController<UITextFieldDelegate>

 

@property(strong,nonatomic)UIImageView *imageV;

@property(strong,nonatomic)UITextField *txtID;

@property(strong,nonatomic)UITextField *txtmima;

@property(strong,nonatomic)UIButton *btnlogin;

@property(strong,nonatomic)UIButton *btnregister;

@property(strong,nonatomic)UILabel *label;

@property(strong,nonatomic)UIButton *btn1;

//

//  ViewController.m

//  屏幕适配

//

//  Created by tlh on 16/4/6.

//  Copyright © 2016年 lamco. All rights reserved.

//

 

#import "ViewController.h"

#import "UIViewExt.h"

@interface ViewController ()

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

   

    self.imageV=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];

    self.imageV.image=[UIImage imageNamed:@"beijing.png"];

    [self.view addSubview:self.imageV];

   

    self.txtID=[[UITextField alloc]initWithFrame:CGRectMake(self.view.left+90, self.view.top + 150, WIDTH/2, HEIGHT/20)];

//    self.txtID.backgroundColor=[UIColor whiteColor];

//    self.txtID.borderStyle=0;

 

//    [email protected]"  请输入账号" ;

//    设置占位符及其字体颜色

    self.txtID.delegate=self;

    UIColor *color1=[UIColor colorWithWhite:1.0 alpha:0.5];

    self.txtID.attributedPlaceholder=[[NSAttributedString alloc]initWithString:@"请输入账号" attributes:@{NSForegroundColorAttributeName:color1}];

    UIImageView *imagev=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];

    self.txtID.clearButtonMode=YES;

    

    self.txtID.leftView=imagev;

    self.txtID.leftViewMode=UITextFieldViewModeAlways;

    

     self.label=[[UILabel alloc]initWithFrame:CGRectMake(self.view.left+90, self.txtID.bottom, WIDTH/2, 1.0)];

    self.label.backgroundColor=[UIColor whiteColor];

    [self.view addSubview: self.label];

    [self.view addSubview:self.txtID];

    

    

    self.txtmima=[[UITextField alloc]initWithFrame:CGRectMake(self.view.left+90, self.txtID.bottom+20, WIDTH/2, HEIGHT/20)];

//    [email protected]"  请输入密码";

    self.txtmima.delegate=self;

    UIColor *color=[UIColor colorWithWhite:1 alpha:0.5];

    self.txtmima.attributedPlaceholder=[[NSAttributedString alloc]initWithString:@"请输入密码" attributes:@{NSForegroundColorAttributeName:color}];

    self.txtmima.secureTextEntry=YES;

    UIImageView *imagev1=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];

    self.txtmima.leftView=imagev1;

    self.txtmima.leftViewMode=UITextFieldViewModeAlways;

    UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(self.view.left+90, self.txtmima.bottom, WIDTH/2, 1.0)];

    lbl.backgroundColor=[UIColor whiteColor];

    [self.view addSubview:lbl];

    [self.view addSubview:self.txtmima];

    //    使密码可见

    self.btn1=[UIButton buttonWithType:UIButtonTypeRoundedRect];

    [self.btn1 setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];

    [self .btn1 addTarget:self action:@selector(display) forControlEvents:UIControlEventTouchUpInside];

    

    self.btn1.frame=CGRectMake(0, 0, self.txtmima.width/12, self.txtmima.size.height);

    self.txtmima.rightView=self.btn1 ;

    self.txtmima.rightViewMode= UITextFieldViewModeAlways;

//    [self.txtmima addSubview:self.btn1];

    

//    登陆按钮

    self.btnlogin=[UIButton buttonWithType:UIButtonTypeRoundedRect];

    self.btnlogin.frame=CGRectMake(self.view.left+90, self.txtmima.bottom+50, WIDTH/2+imagev.size.width, HEIGHT/19);

    [self.btnlogin setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];

    

    [self.btnlogin setTitle:@"登陆" forState:UIControlStateNormal];

    [self.btnlogin setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

    [self.view addSubview:self.btnlogin];

 

//     注册按钮

    self.btnregister=[UIButton buttonWithType:UIButtonTypeRoundedRect];

    self.btnregister.frame=CGRectMake(self.view.left+90, self.btnlogin.bottom+20, WIDTH/2+imagev.size.width, HEIGHT/19);

    [self.btnregister setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];

    [self.btnregister setTitle:@"注册" forState:UIControlStateNormal];

    [self.btnregister setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];

    [self.view addSubview:self.btnregister];

    

//    welcome 图片

    UIImageView *imagev2=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];

    imagev2.frame=CGRectMake(self.view.left+90, self.view.top+70, WIDTH/2, HEIGHT/19);

    [self.view addSubview:imagev2];

//   logo图片

    UIImageView *imagev3=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"[email protected]"]];

    imagev3.frame=CGRectMake(self.view.left+WIDTH/2-50, self.view.bottom-100, WIDTH/4, HEIGHT/18);

    [self.view addSubview:imagev3];

    

//    self.btnlogin=[UIButton buttonWithType:UIButtonTypeRoundedRect];

//    self.btnlogin.frame=CGRectMake(self.view.left+50, self.txtmima.bottom+50, WIDTH/3, HEIGHT/7);

//    

}

//键盘

-(BOOL)textFieldShouldReturn:(UITextField *)textField

{

    [self.txtID resignFirstResponder];

    [self.txtmima resignFirstResponder];

    return YES;

}

-(void)display

{

    if (self.txtmima.secureTextEntry==NO) {

        [self.btn1 setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];

        self.txtmima.secureTextEntry=YES;

    }

    else

    {

        [self.btn1 setBackgroundImage:[UIImage imageNamed:@"[email protected]" ] forState:UIControlStateNormal];

        self.txtmima.secureTextEntry=NO;

    }

}

 

@property(strong,nonatomic)UITextField *txtName;

//  ViewController.m

//  等比缩放

//

//  Created by tlh on 16/4/6.

//  Copyright © 2016年 lamco. All rights reserved.

//

 

#import "ViewController.h"

#import "AppDelegate.h"

@interface ViewController ()

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    self.txtName=[[UITextField alloc]initWithFrame:CGRectMake1(50, 100, 200, 55)];

    self.txtName.backgroundColor=[UIColor redColor];

    self.txtName.borderStyle=1;

    [self.view addSubview:self.txtName];

    

}

 

CG_INLINE CGRect

 

CGRectMake1(CGFloat x,CGFloat y,CGFloat width,CGFloat height)

{

    CGRect rect;

    AppDelegate *myDelegate=[[UIApplication sharedApplication] delegate];

    rect.origin.x=x * myDelegate.autoSizeScaleX;

    rect.origin.y=y * myDelegate.autoSizeScaleY;

    rect.size.width=width *myDelegate.autoSizeScaleX;

    rect.size.height=height *myDelegate.autoSizeScaleY;

    

    return rect;

}

以上是关于屏幕适配 和等比缩放的主要内容,如果未能解决你的问题,请参考以下文章

H5屏幕适配小总结

H5屏幕适配小总结

vue适配不同屏幕大小_移动端适配的几种方案

iOS里面的屏幕适配(两种方法)

了解真实的『REM』多终端屏幕适配

了解真实的『REM』手机屏幕适配