iOS--xuer(registration)

这个登录页面包含了自适应屏幕的大小,数字用户登录键盘是数字键盘、隐藏键盘、隐藏密码等等。

ViewController.h


#import <UIKit/UIKit.h>
#import "UIViewExt.h"
@interface ViewController : UIViewController<UITextFieldDelegate>
/**
 *  背景图片
 */
@property(strong,nonatomic) UIImageView *Imagebackgroud;
/**
 *  用户名输入框
 */
@property(strong,nonatomic) UITextField *NameTextfild;
/**
 *  密码输入框
 */
@property(strong,nonatomic) UITextField *PasswordTextfild;
/**
 *  登录按钮
 */
@property(strong,nonatomic) UIButton *LoginButton;
/**
 *  注册按钮
 */
@property(strong,nonatomic) UIButton *RegistrationButton;

@end

ViewController.m


#import "ViewController.h"
#define WIDTH   self.view.width
#define HEIGHT  self.view.height

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setBackgroudImage];
    [self setLoginImage];
    [self setTextFiled];
    [self setButton];
}
#pragma Mark - 设置背景图的方法
-(void)setBackgroudImage
{
    self.Imagebackgroud=[[UIImageView alloc] initWithFrame:self.view.frame];
    [self.Imagebackgroud setImage:[UIImage imageNamed:@"beijing"]];
    [self.view addSubview:self.Imagebackgroud];
}

#pragma Mark - 设置输入框
-(void)setTextFiled
{
    // 用户名输入框设置
    self.NameTextfild=[[UITextField alloc] initWithFrame:CGRectMake(WIDTH *0.1, HEIGHT *0.2, WIDTH*0.8, HEIGHT*0.05)];
    self.NameTextfild.backgroundColor=[UIColor clearColor];
    self.NameTextfild.placeholder=@"请输入手机号";
    // 设置输入键盘为数字键盘
    self.NameTextfild.keyboardType=UIKeyboardTypeNumberPad;
    // 设置输入框内的图标  默认为不显示
    self.NameTextfild.leftView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"phoneIcon"]];
    self.NameTextfild.leftViewMode=UITextFieldViewModeAlways;
    [self.view addSubview:self.NameTextfild];
    // 设置用户名输入框下的线
    UIView *Nameview=[[UIView alloc]initWithFrame:CGRectMake(WIDTH *0.1, HEIGHT *0.2+HEIGHT*0.05,WIDTH*0.8, 1)];
    Nameview.backgroundColor=[UIColor whiteColor];
    [self.view addSubview:Nameview];

    // 密码输入框设置
    self.PasswordTextfild=[[UITextField alloc] initWithFrame:CGRectMake(WIDTH *0.1,HEIGHT*0.2+HEIGHT*0.06, WIDTH*0.8, HEIGHT*0.05)];
    self.PasswordTextfild.backgroundColor=[UIColor clearColor];
    self.PasswordTextfild.placeholder=@"请输入密码";
    // 设置输入密码保护(隐藏密码)
    self.PasswordTextfild.secureTextEntry=YES;
    // 设置单击return隐藏键盘需要代理
    self.PasswordTextfild.delegate=self;
    // 设置输入框内的图标  默认为不显示
    self.PasswordTextfild.leftView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"passwordIcon"]];
    self.PasswordTextfild.leftViewMode=UITextFieldViewModeAlways;
    [self.view addSubview:self.PasswordTextfild];
    // 设置密码输入框下的线
    UIView *Passwordview=[[UIView alloc]initWithFrame:CGRectMake(WIDTH *0.1,HEIGHT*0.31,WIDTH*0.8, 1)];
    Passwordview.backgroundColor=[UIColor whiteColor];
    [self.view addSubview:Passwordview];
}

#pragma Mark -按钮设置方法
-(void)setButton
{
    // 登录按钮设置
    self.LoginButton=[[UIButton alloc] initWithFrame:CGRectMake(WIDTH *0.1, HEIGHT*0.35, WIDTH *0.8, HEIGHT * 0.08)];
    [self.LoginButton setBackgroundImage:[UIImage imageNamed:@"loginButton"] forState:UIControlStateNormal];
    [self.LoginButton setTitle:@"登录" forState:UIControlStateNormal];
    [self.view addSubview:self.LoginButton];

    // 注册按钮设置
    self.RegistrationButton=[[UIButton alloc] initWithFrame:CGRectMake(WIDTH *0.1, HEIGHT * 0.45, WIDTH *0.8, HEIGHT * 0.08)];
    [self.RegistrationButton setBackgroundImage:[UIImage imageNamed:@"rigisterButton"] forState:UIControlStateNormal];
    [self.RegistrationButton setTitle:@"注册" forState:UIControlStateNormal];
    [self.RegistrationButton setTitleColor:[UIColor colorWithRed:0.115 green:0.749 blue:0.769 alpha:1.000] forState:UIControlStateNormal];
    [self.view addSubview:self.RegistrationButton];

}

#pragma Mark  - logo图片设置
-(void)setLoginImage
{
    // 欢迎图片设置
    UIImageView *welcomeView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"welcome"]];
    welcomeView.frame=CGRectMake(WIDTH *0.1, HEIGHT*0.05, WIDTH *0.8, HEIGHT *0.08);
    [self.view addSubview:welcomeView];

    // logo图片设置
    UIImageView *LogoView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo"]];
    LogoView.frame=CGRectMake(WIDTH*0.4, HEIGHT-HEIGHT*0.08, WIDTH*0.2, HEIGHT*0.03);
    [self.view addSubview:LogoView];

}
#pragma Mark - 设置键盘的隐藏
/**
 *  单击空白处隐藏键盘
 *
 *  @param touches 空白处
 *  @param event   单击
 */
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    if ([self.NameTextfild isFirstResponder]||[self.PasswordTextfild isFirstResponder]) {
        [self.NameTextfild resignFirstResponder];
        [self.PasswordTextfild resignFirstResponder];
    }
}

/**
 *  单击return隐藏键盘
 */
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [self.PasswordTextfild resignFirstResponder];
    return YES;
}
...
@end

运行效果图:

2016-04-06 22:22:01

时间: 2024-08-04 07:32:30

iOS--xuer(registration)的相关文章

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相) 2014-08-23 21:37 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 在安装Xcode前,我们先了解下Mac下如何卸载U盘!在VM9下,同一时间内,一个物理设备只能由一个系统去独占,无论是物理机还是虚拟机.我们可以了解一下虚拟机加载U盘的规则:    1.在虚拟机中加载U盘时,会自动将U盘从Wind

XE6移动开发环境搭建之IOS篇(4):VMware9里安装Mac OSX 10.8(有图有真相)

XE6移动开发环境搭建之IOS篇(4):VMware9里安装Mac OSX 10.8(有图有真相) 2014-08-18 21:10 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 以下内容比较长,我们努力地图解每一个步骤,没有耐心的观众可以忽略前27步,直接看第28步最终结果.--------------------------------------------------------------- 1.在虚拟机主界

XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络。(有图有真相)

XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络.(有图有真相) 2014-08-23 21:37 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 我们配置一下MAC的IP,给定一个固定的内网IP,以便我们的XE6能更好地连接它!--------------------------------------------------------------- 1.打开虚拟机,在MAC里,点一下桌面(星空图

XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相)

XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相) 2014-08-20 20:28 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 在安装XE6 PAServer前,我们先解决Windows和虚拟机下Mac的文件共享问题,由于虚拟机和我们安装的XE6是同一台电脑,所以此问题很好解决.网上相传有很多的共享大法,但是在WIN7这种权限管制得过份的系统下显得相对复杂了,

XE6移动开发环境搭建之IOS篇(3):配置虚拟机,设置Mac安装环境(有图有真相)

XE6移动开发环境搭建之IOS篇(3):配置虚拟机,设置Mac安装环境(有图有真相) 2014-08-16 11:44 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 1.创建新的虚拟机--------------------------------------------------------------- 1.创建新的虚拟机. 2.我们自己去决定虚拟机的参数,选择自定义配置,点击'继续'. 3.选择版本:WorkS

XE6移动开发环境搭建之IOS篇(2):安装虚拟机(有图有真相)

XE6移动开发环境搭建之IOS篇(2):安装虚拟机(有图有真相) 2014-08-15 22:04 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 1.安装英文原版虚拟机--------------------------------------------------------------- 1. 我们先在E盘建2个文件夹: MyVM 和 MyVM_MacOSX,用于存放准备安装的虚拟机文件和虚拟Mac系统文件.(此

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相) 2014-08-22 21:06 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表达来告诉你想要的答案. 在安装PAServer前,我们先配置一下MAC的IP,给定一个固定的内网IP,以便我们的XE6能更好地连接它!------------------------------------------------------------

从零开始学ios开发(八):Autorotation and Autosizing

不好意思,这一篇间隔的时间有点长,最近实在是事情太多,耽搁了,好了,长话短说,下面继续学习ios. 这次学习的内容是Autorotation和Autosizing,Autorotation就是屏幕内容自动旋转,因为iphone有重力感应系统(陀螺仪???),屏幕的内容会随着用户手握iphone的方式(竖着握Portrait.横着握Landscape)而改变,这个相信大家都已经有所体会,Autosizing是指当iphone的屏幕旋转后,屏幕里面控件的大小和位置也会自动改变.好了,下面跟着例子继续

iOS开发(OC)中的命名规范

开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系.以后多花点时间把自己的经验和学习知识加以总结一下吧,这样有利于去指导新人,也更有利于加深自己的知识认知.今天就从代码规范入手总结一下iOS开发中好的编码规范吧.我们在开发中看别人的代码的时候经常会去抱怨至少内心里骂娘

XE6移动开发环境搭建之IOS篇(9):配置XE6的IOS SDK(有图有真相)

XE6移动开发环境搭建之IOS篇(9):配置XE6的IOS SDK(有图有真相) 2014-08-23 21:36 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 1.开启PAServer.XE6要连接MAC,必须先将MAC的PAServer运行起来.--------------------------------------------------------------- 1.在虚拟机下,点一下桌面(星空图随便某