ios 仿电脑qq登录界面_IOS-qq登录界面

++2016.7.17

++ by side @IOS-qq登录界面

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

我们现在越来越多的人离不开qq,微信等社交软件,那么qq到底是怎么开发出来的呢?

今天我们介绍qq的登录界面的简单开发过程(其实是作者水平有限):

下面放出成果图

qq登录界面

源代码:

//

// ViewController.m

// QQ界面

//

// Created by lanou on 16/7/12.

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

//

#import "ViewController.h"

@interface ViewController ()

//创建控件

@property(nonatomic,strong) UIButton*login,*header;

@property(nonatomic,strong)UILabel *user,*password;

@property(nonatomic,strong) UITextField *usertext ,*passwordtext;

@property(nonatomic,strong)UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//账号输入框采用默认键盘,密码输入框采用数字键盘兵能密文显示,两个文本框都有文本输入时打印出来,否则弹出如图提醒框

//登录按钮设置(背景图片、监听事件、)

self.login =[[UIButton alloc]initWithFrame:CGRectMake(100, 400, 200, 150)];

[self.login setImage:[UIImage imageNamed:@"login_btn_blue_nor.png"] forState:UIControlStateNormal];

self.header =[[UIButton alloc]initWithFrame:CGRectMake(160, 50, 80, 80)];

[self.header setBackgroundImage:[UIImage imageNamed:@"login_header.png"] forState:UIControlStateNormal ];

//设置圆形半径

self.header.layer.cornerRadius/*圆形半径*/=40;

//切割(伪装)圆形半径外的部分(将按钮的一层边角伪装)

self.header.layer.masksToBounds=YES;

//添加点击事件 去访问系统相册

[self.header addTarget:self action:@selector(setUserImage)

forControlEvents:(UIControlEventTouchUpInside )];

//添加登陆监听事件

[self.login addTarget:self action:@selector(loginAction) forControlEvents:(UIControlEventTouchUpInside )];

//标签设置(标签名称、标签位置与大小、标签标题(文本)、)

self.user = [[UILabel alloc]initWithFrame:CGRectMake(40, 205, 80, 30)];

self.user.text=@"用户名:";

self.password = [[UILabel alloc]initWithFrame:CGRectMake(40, 255, 80, 30)];

self.password.text =@"密码:";

//文本框设置(位置与大小、获取UITextField的文本,设置输入框键盘类型设置占位符 密文输入)

self.usertext= [[UITextField alloc]initWithFrame:CGRectMake(110, 200, 200, 40)];

//设置提示字

self.usertext.placeholder=@"请输入账号";

设置键盘类型

self.usertext.keyboardType = UIKeyboardTypeDefault;

self.passwordtext=[[UITextField alloc]initWithFrame:CGRectMake(110, 250, 200, 40)];

self.passwordtext .placeholder=@"请输入密码";

[self.passwordtext setSecureTextEntry:YES];

//设置键盘

self.passwordtext.keyboardType= UIKeyboardTypeNumberPad;

self.passwordtext.enablesReturnKeyAutomatically=YES;

[self.usertext becomeFirstResponder ];

//添加到视图

[self.view addSubview:self.login];

[self.view addSubview:self.user];

[self.view addSubview:self.password];

[self.view addSubview:self.passwordtext];

[self.view addSubview:self.usertext];

[self.view addSubview:self.header];

[self.view addSubview:self.imageView];

}

//登陆按钮事件

-(void)loginAction{

NSString *userstring,*passtring;

userstring = self.usertext.text;

passtring = self.passwordtext.text;

if (![userstring isEqualToString:@""]&&![passtring isEqualToString:@""]) {

NSLog(@"用户:%@",userstring);

NSLog(@"密码:%@",passtring);

}else{

UIAlertController *alertControler =[UIAlertController alertControllerWithTitle:@"警告" message:@"账号或密码输入错误,请重新输入" preferredStyle: UIAlertControllerStyleAlert];

[self presentViewController:alertControler animated:YES completion:nil];

UIAlertAction *okAlertion=[UIAlertAction actionWithTitle:@"确认" style: UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

}];

UIAlertAction *cancerAlertion=[UIAlertAction actionWithTitle:@"返回" style: UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

}];

//给弹框添加行为

[alertControler addAction:okAlertion];

[alertControler addAction:cancerAlertion]

} }

//访问系统相册方法

-(void )setUserImage{

//使用图片代理-查看协议-并实现“didFinishPickingImage”事件

UIImagePickerController *imagePicker= [[UIImagePickerController alloc] init];

imagePicker.delegate = self;

//弹出系统相册

[self presentViewController:imagePicker animated:YES completion:nil/*弹出系统相册后的操作*/];

//completion:^{运行的代码块}

}

//这个方法是协议UIImagePickerControllerDelegate里面的,选择结束的时候会自动调用

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary *)editingInfo {

//设置头像

[self.header setBackgroundImage:image forState:UIControlStateNormal ];

//将系统相册消失掉(消失弹框)

[picker dismissViewControllerAnimated:YES completion:nil];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

源代码1

源代码2

在开发此qq界面时就需要注意以下几点:

在开发之前自己应该有大概的结构框架,尤其是在设计UI界面的时候

在开发是要有步骤的进行

在实现相同功能的条件下尽量减少代码的冗余量

定义好所需要的控件

为定义的控件设置属性以及布局的控制与调试

添加到屏幕上,并预览界面样式

为控件添加监听事件以及功能方法的实现

注意特殊方法的实现,以及相关协议内所需要实现的方法

调试与改善

========================================@小怪兽

ps:因作者能力有限,有错误的地方请见谅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值