登陆注册思想

import "ViewController.h"

@interface ViewController ()web

@endapp

@implementation ViewController框架

  • (void)viewDidLoad
    {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.ide

    //三个UILabel
    UILabel *nameLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 60, 80, 37)];
    nameLabel.font = [UIFont systemFontOfSize:15];
    nameLabel.text = @"用 户 名:";
    nameLabel.backgroundColor = [UIColor clearColor];
    nameLabel.textAlignment = NSTextAlignmentLeft;
    nameLabel.numberOfLines = 2; //用于设置UILabel中文本的行数
    [self.view addSubview:nameLabel];
    [nameLabel release];字体

    UILabel *newPasswordLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 60+40, 80, 37)];
    newPasswordLabel.font = [UIFont systemFontOfSize:15];
    newPasswordLabel.text = @"密 码:";
    newPasswordLabel.backgroundColor = [UIColor clearColor];
    newPasswordLabel.textAlignment = NSTextAlignmentLeft;
    [self.view addSubview:newPasswordLabel];
    [newPasswordLabel release];优化

    UILabel *oncePasswordLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 60+40*2, 80, 37)];
    oncePasswordLabel.font = [UIFont systemFontOfSize:15];
    oncePasswordLabel.text = @"确认密码:";
    oncePasswordLabel.backgroundColor = [UIColor clearColor];
    oncePasswordLabel.textAlignment = NSTextAlignmentLeft;
    [self.view addSubview:oncePasswordLabel];
    [oncePasswordLabel release];指针

    //三个输入框
    UITextField *nameTextField = [[UITextField alloc]initWithFrame:CGRectMake(90, 60, 210, 30)];
    nameTextField.placeholder = @"请输入用户名";
    nameTextField.tag = 1;
    [nameTextField setSecureTextEntry:NO];
    nameTextField.font = [UIFont systemFontOfSize:14];
    nameTextField.delegate = self;
    nameTextField.backgroundColor = [UIColor clearColor];
    nameTextField.borderStyle = UITextBorderStyleRoundedRect;
    [self.view addSubview:nameTextField];
    [nameTextField release];code

    UITextField *passwordTextField = [[UITextField alloc]initWithFrame:CGRectMake(90, 60+40, 210, 30)];
    passwordTextField.placeholder = @"至少6位数字";
    passwordTextField.tag = 2;
    [passwordTextField setSecureTextEntry:YES];
    passwordTextField.font = [UIFont systemFontOfSize:14];
    passwordTextField.delegate = self;
    passwordTextField.backgroundColor = [UIColor clearColor];
    passwordTextField.borderStyle = UITextBorderStyleRoundedRect;
    passwordTextField.keyboardType = UIKeyboardTypeNumberPad;
    [self.view addSubview:passwordTextField];
    [passwordTextField release];orm

    UITextField *onceNewPasswordTextField = [[UITextField alloc]initWithFrame:CGRectMake(90, 60+40*2, 210, 30)];
    onceNewPasswordTextField.placeholder = @"请再次输入密码";
    onceNewPasswordTextField.tag = 3;
    onceNewPasswordTextField.font = [UIFont systemFontOfSize:14];
    [onceNewPasswordTextField setSecureTextEntry:YES];
    onceNewPasswordTextField.delegate = self;
    onceNewPasswordTextField.backgroundColor = [UIColor clearColor];
    onceNewPasswordTextField.borderStyle = UITextBorderStyleRoundedRect;
    onceNewPasswordTextField.keyboardType = UIKeyboardTypeNumberPad;
    [self.view addSubview:onceNewPasswordTextField];
    [onceNewPasswordTextField release];继承

    UIButton confirmButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    confirmButton.frame = CGRectMake(110, 60+40
    3+20, 100, 37);
    [confirmButton setTitle:@"肯定" forState:UIControlStateNormal]; //正常情况下button显示的标题
    [confirmButton setTitle:@"肯定" forState:UIControlStateHighlighted]; //高亮显示时button的标题
    confirmButton.backgroundColor = [UIColor redColor];
    [confirmButton addTarget:self action:@selector(confirm:) forControlEvents:UIControlEventTouchUpInside];//button被按下又抬起后发生的事件
    //@selector能够理解为"选择子",selector是一个指针变量,相似于sender。 这里是将method的方法指定给新建的这个confirmButton
    [self.view addSubview:confirmButton];
    }

//收回键盘

  • (void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event
    {
    for (int i = 0; i<4; i++) {
    UITextField textField = (UITextField)[self.view viewWithTag:1+i];
    [textField resignFirstResponder];
    }
    }

  • (void)didReceiveMemoryWarning
    {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

@end

二.UILabel

  UILabel继承了UIView,它能够设置UIView所支持的属性。

UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 20.0, 200.0, 50.0)]; //设置Label的位置和大小
//设置显示文字
label1.text = @"用户名";
//设置字体:粗体,正常的是 SystemFontOfSize
label1.font = [UIFont boldSystemFontOfSize:20];
//设置文字颜色
label1.textColor = [UIColor orangeColor];
//设置文字位置
label1.textAlignment = UITextAlignmentRight;
label2.textAlignment = UITextAlignmentCenter;
//设置字体大小适应label宽度
label4.adjustsFontSizeToFitWidth = YES;
//设置label的行数
label5.numberOfLines = 2;
UIlabel.backgroudColor=[UIColor clearColor]; //能够去掉背景色

//设置高亮
label6.highlighted = YES;
label6.highlightedTextColor = [UIColor orangeColor];
//设置阴影
label7.shadowColor = [UIColor redColor];
label7.shadowOffset = CGSizeMake(1.0,1.0);
//设置是否能与用户进行交互
label7.userInteractionEnabled = YES;
//设置label中的文字是否可变,默认值是YES
label3.enabled = NO;
//设置文字过长时的显示格式
label3.lineBreakMode = UILineBreakModeMiddleTruncation;//截去中间
// typedef enum {
// UILineBreakModeWordWrap = 0,
// UILineBreakModeCharacterWrap,
// UILineBreakModeClip,//截去多余部分
// UILineBreakModeHeadTruncation,//截去头部
// UILineBreakModeTailTruncation,//截去尾部
// UILineBreakModeMiddleTruncation,//截去中间
// } UILineBreakMode;

//若是adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
label4.baselineAdjustment = UIBaselineAdjustmentNone;
// typedef enum {
// UIBaselineAdjustmentAlignBaselines,
// UIBaselineAdjustmentAlignCenters,
// UIBaselineAdjustmentNone,
// } UIBaselineAdjustment;

 *********在处理密码等隐私类的信息时,可能须要将输入的信息隐藏一下。

//每输入一个字符就变成点 ,用语密码输入
[passwordTextField setSecureTextEntry:YES];

也能够设置文本框关联的键盘,以下:

复制代码
//设置键盘的样式
text.keyboardType = UIKeyboardTypeNumberPad;
typedef enum {
UIKeyboardTypeDefault,   //默认键盘,支持全部字符
UIKeyboardTypeASCIICapable,  //支持ASCII的默认键盘
UIKeyboardTypeNumbersAndPunctuation,  //标准电话键盘,支持+*#字符
UIKeyboardTypeURL, //URL键盘,支持.com按钮 只支持URL字符
UIKeyboardTypeNumberPad,   //数字键盘
UIKeyboardTypePhonePad,    //电话键盘
UIKeyboardTypeNamePhonePad,   //电话键盘,也支持输入人名
UIKeyboardTypeEmailAddress,   //用于输入电子 邮件地址的键盘
UIKeyboardTypeDecimalPad,   //数字键盘 有数字和小数点
UIKeyboardTypeTwitter,   //优化的键盘,方便输入@、#字符
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
} UIKeyboardType;

  有时须要限制输入文本的长度,这类操做也很是广泛和重要。

//限制输入文本的长度

  • (BOOL)textField:(UITextField )textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString )string
    {
    if ([textField.text length] > MAXLENGTH)
    {
    textField.text = [textField.text substringToIndex:MAXLENGTH-1];
    return NO;
    }
    return YES;
    }
    四.UIButton

UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
// 可以定义的button类型有如下6种,
// typedef enum {
// UIButtonTypeCustom = 0, 自定义风格
// UIButtonTypeRoundedRect, 圆角矩形
// UIButtonTypeDetailDisclosure, 蓝色小箭头按钮,主要作详细说明用
// UIButtonTypeInfoLight, 亮色感叹号
// UIButtonTypeInfoDark, 暗色感叹号
// UIButtonTypeContactAdd, 十字加号按钮
// } UIButtonType;

//给定button在view上的位置
     button1.frame = CGRectMake(20, 20, 280, 20);

     //button背景色
     button1.backgroundColor = [UIColor clearColor];

     //设置button填充图片
     //[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal];

     //设置button标题
     [button1 setTitle:@"点击" forState:UIControlStateNormal];
     /* forState: 这个参数的做用是定义按钮的文字或图片在何种状态下才会显现*/
    //如下是几种状态
 //    enum {
 //        UIControlStateNormal       = 0,         常规状态显现
 //        UIControlStateHighlighted  = 1 << 0,    高亮状态显现
 //        UIControlStateDisabled     = 1 << 1,    禁用的状态才会显现
 //        UIControlStateSelected     = 1 << 2,    选中状态
 //        UIControlStateApplication  = 0x00FF0000, 当应用程序标志时
 //        UIControlStateReserved     = 0xFF000000  为内部框架预留,能够无论他
 //    };

     /*
               * 默认状况下,当按钮高亮的状况下,图像的颜色会被画深一点,若是这下面的这个属性设置为no,
               * 那么能够去掉这个功能
              */
     button1.adjustsImageWhenHighlighted = NO;
     /*跟上面的状况同样,默认状况下,当按钮禁用的时候,图像会被画得深一点,设置NO能够取消设置*/
     button1.adjustsImageWhenDisabled = NO;
     /* 下面的这个属性设置为yes的状态下,按钮按下会发光*/
     button1.showsTouchWhenHighlighted = YES;

     /* 给button添加事件,事件有不少种,我会单独开一篇博文介绍它们,下面这个时间的意思是
               按下按钮,而且手指离开屏幕的时候触发这个事件,跟web中的click事件同样。
               触发了这个事件之后,执行butClick:这个方法,addTarget:self 的意思是说,这个方法在本类中
               也能够传入其余类的指针*/
     [button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside];

     //显示控件
     [self.view addSubview:button1];

单独说明一下:

UIButton confirmButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
confirmButton.frame = CGRectMake(110, 60+40
3+20, 100, 37);
[confirmButton setTitle:@"肯定" forState:UIControlStateNormal]; //正常情况下button显示的标题
[confirmButton setTitle:@"肯定" forState:UIControlStateHighlighted]; //高亮显示时button的标题
confirmButton.backgroundColor = [UIColor redColor];
[confirmButton addTarget:self action:@selector(confirm:) forControlEvents:UIControlEventTouchUpInside];//button被按下又抬起后发生的事件
//@selector能够理解为"选择子",selector是一个指针变量,相似于sender。 这里是将method的方法指定给新建的这个confirmButton
[self.view addSubview:confirmButton];

  若要设置UIButton的背景图片时:

UIButton confirmButton = [UIButton buttonWithType:UIButtonTypeCustom]; confirmButton.frame = CGRectMake(10, 60, 100, 40); UIImage nextStepImage = [UIImage imageNamed:@"app.png"]; UIImage *nextStepDownImage = [UIImage imageNamed:@"app.png"]; nextStepImage = [nextStepImage resizableImageWithCapInsets:UIEdgeInsetsMake(8, 8, 8, 8)]; nextStepDownImage = [nextStepDownImage resizableImageWithCapInsets:UIEdgeInsetsMake(8, 8, 8, 8)]; [confirmButton setBackgroundImage:nextStepImage forState:UIControlStateNormal]; [confirmButton setBackgroundImage:nextStepDownImage forState:UIControlStateHighlighted]; [confirmButton setTitle:@"肯定" forState:UIControlStateNormal]; [confirmButton addTarget:self action:@selector(confirm:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:confirmButton];