您的位置:首页 > 产品设计 > UI/UE

UI_2

2016-01-15 22:02 344 查看
#import "AppDelegate.h"
#import "LTView.h"

#define kLabel_x 40
#define kLabel_Width 100
#define kHeight 30

@interface AppDelegate ()

@end

@implementation AppDelegate

//UIActionSheet 
从下部弹出来的警示框
//警示框   UIAlertView   
中间弹出

//使用LTView来创建登录界面
-(void)createLoginViewByLTView{

     //首先创建用户名和密码输入的控件
       //得到整个屏幕的宽度
    float screenWidth = CGRectGetWidth(self.window.frame);
      //得到ltView的宽度  ltView整体居中
    float ltVWidth = screenWidth-40*2;
      //label显示内容的数组
    NSArray *labelTextArray = [NSArrayarrayWithObjects:@"用户名",@"密码",nil];

      //输入框占位字符数组
    NSArray *placeHolderArray = [NSArrayarrayWithObjects:@"请输入用户名",@"输入密码",nil];
    for (int i =0 ; i<2; i++) {
        LTView *ltView = [[LTViewalloc]initWithFrame:CGRectMake(40,100+i*(40+20), ltVWidth,40)];
        ltView.leftLabel.text = labelTextArray[i];
        ltView.rightTextField.placeholder = placeHolderArray[i];
        [self.windowaddSubview:ltView];
    }

}

//"注册"按钮的点击方法
-(void)jumpToRegisterViewAction:(UIButton *)sender{

}

//"登录"按钮的点击方法
-(void)loginAction:(UIButton *)sender{
    //得到用户名、密码的textField

    //需要得到这两个输入框的父视图,父视图通过tag值得到它们
    UIView *loginView = [sender superview];
    UITextField *userNameTextField = (UITextField *)[loginViewviewWithTag:1000];
    UITextField *pwdTextField = (UITextField *)[loginViewviewWithTag:1001];

    //判断用户名、密码是否输入
    NSString *userNameStr = userNameTextField.text;
    NSString *pwdStr = pwdTextField.text;

    //如果用户没有输入内容
    if (userNameStr ==nil || [userNameStrisEqualToString:@"<null>"]||(userNameStr.length ==0)) {
        NSLog(@"请输入用户名");
    //警示框
        UIAlertView *alertView = [[UIAlertViewalloc]initWithTitle:@"友情提示"message:@"用户名不能为空"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil,nil];
        //显示警示框
        [alertView show];
    }else if(pwdStr ==nil || [userNameStrisEqualToString:@"<null>"]||(pwdStr.length ==0)) {
        NSLog(@"请输入密码");
     //警示框
        UIAlertView *alertView1 = [[UIAlertViewalloc]initWith
c5a5
Title:@"密码提示"message:@"密码错误!"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil,nil];
        [alertView1 show];

        
    }else if ([userNameStrisEqualToString:@"zhanghan"] &&[pwdStrisEqualToString:@"123456"]){
        NSLog(@"登录成功");
    }else{
        NSLog(@"用户名或者密码错误");
    }

    
}

//"找回密码"按钮的点击方法
-(void)jumpToFindPwdViewAction:(UIButton *)sender{

    
}

//创建一个登录界面
-(void)creatLogView{

  //创建登录界面的背景页面
    UIView *logView = [[UIViewalloc]initWithFrame:[UIScreenmainScreen].bounds];

    
    //页面顶部标题
    UILabel *titleLabel = [[UILabelalloc]initWithFrame:CGRectMake(0,20, CGRectGetWidth(logView.frame),40)];
    //设置标题
    titleLabel.text = @"登录";
    //设置文字居中
    titleLabel.textAlignment =NSTextAlignmentCenter;

    //给文字设置背景颜色
    [titleLabel setBackgroundColor:[UIColorgrayColor]];
    titleLabel.textColor = [UIColorredColor];

    
    [logView addSubview: titleLabel];

    

    
    //设置背景颜色
    [logView setBackgroundColor:[UIColorwhiteColor]];

    
    NSArray *labelTextArray = [NSArrayarrayWithObjects:@"用户名",@"密码",nil];
    NSArray *textArray = [NSArrayarrayWithObjects:@"请输入用户名",@"请输入密码",nil];

    

  //由于所有的控件的位置都是有规律的,所以我们才可以通过for循环创建
    for (int i =0; i<2; i++) {
        //每循环一次,创建一行控件,一行控件包括 label和 textfiled
        UILabel *myLabel =[[UILabelalloc]initWithFrame:CGRectMake(kLabel_x,200+i*50,kLabel_Width,kHeight)];
        myLabel.text = labelTextArray[i];

        
        UITextField *myTextField = [[UITextFieldalloc]initWithFrame:CGRectMake(kLabel_x+kLabel_Width+20,200+i*50,200, kHeight)];
        myTextField.tag = 1000+i;
        myTextField.placeholder = textArray[i];

        

        //如果是密码输入框,文字样式不能是明文输入,需要设置为密码样式
        if (i == 1) {
            myTextField.secureTextEntry = YES;
        }
        //将创建好的控件添加到loginView上面
        [logView addSubview:myLabel];
        [logView addSubview:myTextField];
    }
  //"注册"按钮
    UIButton *registerBtn = [UIButtonbuttonWithType:UIButtonTypeSystem];
      //设置标题
    [registerBtn setTitle:@"注册"forState:UIControlStateNormal];
      //设置frame
    [registerBtn setFrame:CGRectMake(40,300, 80, 40)];
      //设置点击事件
    [registerBtn addTarget:selfaction:@selector(jumpToRegisterViewAction:)forControlEvents:UIControlEventTouchUpInside];
      //添加注册按钮
    [logView addSubview:registerBtn];

 
  //"登录"按钮
    UIButton *loginBtn = [UIButtonbuttonWithType:UIButtonTypeSystem];
    //添加标题
    [loginBtn setTitle:@"登录"forState:UIControlStateNormal];
    //设置frame
    [loginBtn setFrame:CGRectMake(140,300, 80, 40)];
    //添加点击事件
    [loginBtn addTarget:selfaction:@selector(loginAction:)forControlEvents:UIControlEventTouchUpInside];
    //添加登录按钮
    [logView addSubview:loginBtn];

    

    
   //"找回密码"按钮
    UIButton *findPWdBtn = [UIButtonbuttonWithType:UIButtonTypeSystem];
    //添加标题
    [findPWdBtn setTitle:@"找回密码"forState:UIControlStateNormal];
    //设置frame
    findPWdBtn.frame = CGRectMake(240, 300, 80, 40);
    //添加点击事件
    [findPWdBtn addTarget:selfaction:@selector(jumpToFindPwdViewAction:)forControlEvents:UIControlEventTouchUpInside];

    //添加找回密码按钮
    [logView addSubview:findPWdBtn];

    
        //将logView添加到window上面
//    [self.window addSubview:logView];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];

  

    

    //创建登录界面(调用):
    [selfcreatLogView];

    

    
    [selfcreateLoginViewByLTView];

    

    

    

   

    
    self.window.backgroundColor = [UIColorwhiteColor];
    [self.windowmakeKeyAndVisible];
    return YES;
}

=================

#import <UIKit/UIKit.h>

@interface LTView : UIView

//因为外部需要给label赋值,并且可以在外部得到textField中输入的值,所以label和textField需要声明在.h文件中,这样,外部可以调用。
@property (nonatomic,strong)UILabel *leftLabel;//自定义视图左侧的label
@property (nonatomic,retain)UITextField *rightTextField;//自定义视图右侧的textField

@end

==================

#import "LTView.h"

@implementation LTView

//因为labrl和TextField要根据LTView的大小来布局,所以我们需要拿到LTView的frame,所以需要重写LTView的初始化方法。
-(instancetype)initWithFrame:(CGRect)frame{
    self = [superinitWithFrame:frame];
    if (self) {
     //在初始化方法中,为LTView添加label和
textField
        //初始化label。并且添加到LTView。 
label和 textField的宽度比例大约为1:2
           //得到整体宽度
        float sumWidth = CGRectGetWidth(frame);
           //得到label的宽度
        float labelWidth = (sumWidth-20)/3;
        _leftLabel = [[UILabelalloc]initWithFrame:CGRectMake(0,0, labelWidth,CGRectGetHeight(frame))];
        [self addSubview:_leftLabel];
       //初始化textField并添加到LTView
        _rightTextField =[[UITextFieldalloc]initWithFrame:CGRectMake(labelWidth +20, 0,labelWidth *2,CGRectGetHeight(frame))];
        [selfaddSubview:_rightTextField];
    }
        return self;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  application ui 界面 应用