QQ登录页面

#import "ViewController.h"

#import "User.h"

@interface ViewController ()

{

//头像

UIImageView *iconView;

//QQ号码

UITextField *qqTF;

//密码

UITextField *passworldTF;

//密码可见按钮

UIButton *seeBTN;

//登陆按钮

UIButton *loginBTN;

}

@property(nonatomic,strong)NSArray *userArray;

@end

@implementation ViewController

#pragma mark - 重写属性userArray的设置器

-(void)setUserArray:(NSArray *)userArray

{

NSMutableArray *mutableArray=[NSMutableArray array];

for (int i=0; i<userArray.count; i++) {

User *user1=[User userWithDictionary:[userArray objectAtIndex:i]];

[mutableArray addObject:user1];

}

_userArray=mutableArray;

}

#pragma mark - 加载所有的控件

- (void)viewDidLoad {

[super viewDidLoad];

#pragma mark 给属性赋值(user对象)

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"TencentID.plist" ofType:nil];

NSArray *array = [NSArray arrayWithContentsOfFile:plistPath];

self.userArray = array;

#pragma mark 头像

//设置头像外围的红圈

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(120, 50, 80, 80)];

view.layer.cornerRadius = 40;//设置圆角

view.layer.borderWidth= 1.0f;//设置框线宽度

view.layer.borderColor=[[UIColor redColor] CGColor];//设置框线颜色

[self.view addSubview:view];

//设置显示头像的图片框

iconView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 40, 60)];

iconView.image = [UIImage imageNamed:@"1.png"];//设置头像默认显示图片

iconView.center = view.center;

#pragma mark 账号

qqTF = [[UITextField alloc]initWithFrame:CGRectMake(40, 160, 240, 30)];

qqTF.layer.cornerRadius=3;//设置输入框圆角

qqTF.layer.borderWidth= 0.5f;//设置输入框边框宽度

qqTF.layer.borderColor=[[UIColor redColor] CGColor];//设置输入框边框颜色

//设置键盘样式

qqTF.keyboardType=UIKeyboardTypeDecimalPad;

//设置左边label

UILabel *left_qq=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 55, 30)];

left_qq.textAlignment = NSTextAlignmentCenter;//设置文本对齐方式

left_qq.font = [UIFont systemFontOfSize:14];//设置字号

left_qq.backgroundColor=[UIColor redColor];//设置背景颜色

left_qq.textColor=[UIColor whiteColor];//设置字体颜色

left_qq.text = @"账号";//设置显示文本

qqTF.leftViewMode = UITextFieldViewModeAlways;//设置输入框是否显示左边辅助视图

qqTF.leftView = left_qq;//设置输入框左边辅助视图

#pragma mark 密码

passworldTF = [[UITextField alloc]initWithFrame:CGRectMake(40, 205, 240, 30)];

passworldTF.layer.cornerRadius=3;//设置输入框圆角

passworldTF.layer.borderWidth= 0.5f;//设置输入框边框宽度

passworldTF.layer.borderColor=[[UIColor redColor] CGColor];//设置输入框边框颜色

passworldTF.secureTextEntry = YES;//设置输入框文本显示为加密类型

//设置左边label

UILabel *left_pw=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 55, 30)];

left_pw.textAlignment = NSTextAlignmentCenter;//设置文本对齐方式

left_pw.font = [UIFont systemFontOfSize:14];//设置字号

left_pw.backgroundColor=[UIColor redColor];//设置背景颜色

left_pw.textColor=[UIColor whiteColor];//设置字体颜色

left_pw.text = @"密码";//设置显示文本

passworldTF.leftViewMode = UITextFieldViewModeAlways;//设置输入框是否显示右边辅助视图

passworldTF.leftView = left_pw;//设置输入框右边辅助视图

#pragma mark 密码可见按钮

seeBTN = [UIButton buttonWithType:UIButtonTypeCustom];

seeBTN.frame = CGRectMake(195, 237, 90, 30);

[seeBTN setTitle:@"密码可见" forState:UIControlStateNormal];

[seeBTN setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[seeBTN setImage:[UIImage imageNamed:@"cant.png"] forState:UIControlStateNormal];

seeBTN.titleLabel.font = [UIFont systemFontOfSize:13];

[seeBTN addTarget:self action:@selector(canSeePassworldButton:) forControlEvents:UIControlEventTouchUpInside];

#pragma mark 登陆

loginBTN = [UIButton buttonWithType:UIButtonTypeCustom];

loginBTN.frame = CGRectMake(60, 300, 200, 30);

[loginBTN setTitle:@"登    录" forState:UIControlStateNormal];

loginBTN.backgroundColor=[UIColor redColor];

loginBTN.layer.cornerRadius=3;

[loginBTN addTarget:self action:@selector(doLoginButton:) forControlEvents:UIControlEventTouchUpInside];

#pragma mark 添加视图

[self.view addSubview:iconView];

[self.view addSubview:qqTF];

[self.view addSubview:passworldTF];

[self.view addSubview:seeBTN];

[self.view addSubview:loginBTN];

}

#pragma mark - 点击登陆执行的事件

-(void)doLoginButton:(UIButton *)sender

{

//当前两个输入框有一个为空,加载一个提示框(2秒之后消失),函数功能结束

if ([qqTF.text isEqualToString:@""] || [passworldTF.text isEqualToString:@""]) {

[self showAlertviewWithMessage:@"请填写完整的账号信息"];

return;

}

for (User *user in _userArray) {

if ([user.qqID isEqualToString:qqTF.text]) {

if ([user.passworld isEqualToString:passworldTF.text]) {

[self showAlertviewWithMessage:@"登陆成功"];

iconView.image=[UIImage imageNamed:user.icon];

[email protected]"";[email protected]"";

}

else{

[self showAlertviewWithMessage:@"密码错误"];

}

return;

}

}

[self showAlertviewWithMessage:@"没有这个账号"];

}

#pragma mark - 密码可见按钮执行的事件

-(void)canSeePassworldButton:(UIButton *)sender

{

if (passworldTF.isSecureTextEntry) {

[seeBTN setImage:[UIImage imageNamed:@"can.png"] forState:UIControlStateNormal];

passworldTF.secureTextEntry = NO;

}

else{

[seeBTN setImage:[UIImage imageNamed:@"cant.png"] forState:UIControlStateNormal];

passworldTF.secureTextEntry = YES;

}

}

#pragma mark - 显示提示框

-(void)showAlertviewWithMessage:(NSString *)message

{

/******* 添加提示框  ********/

UIView *black_view = [[UIView alloc]initWithFrame:CGRectMake(60, 500, 200, 30)];

black_view.backgroundColor=[UIColor blackColor];//设置提示框的背景颜色

black_view.layer.cornerRadius = 4;//设置提示框的圆角

black_view.tag=1000;//设置提示框的tag值标记,将用于未来某一时刻删除这个视图

[self.view addSubview:black_view];

/******* 添加提示框上面显示提示信息的文本框  ********/

UILabel *message_label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 200, 30)];

message_label.font=[UIFont systemFontOfSize:15];

message_label.numberOfLines=2;

message_label.textColor=[UIColor whiteColor];

message_label.textAlignment=NSTextAlignmentCenter;

message_label.text = message;

[black_view addSubview:message_label];

[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(removeAlertView:) userInfo:nil repeats:NO];

}

#pragma mark - 2秒之后移除提示框事件

-(void)removeAlertView:(NSTimer *)timer

{

[[self.view viewWithTag:1000] removeFromSuperview];

[timer invalidate];//停止计时器

}

@end

时间: 2024-09-28 16:12:14

QQ登录页面的相关文章

今天用css做了一个QQ登录页面

<!doctype html> <html> <head> <meta charset="utf-8"> <title>今天写一些简单的页面</title> <link rel="stylesheet" style="text/css" href="d2.css"> </head> <body> <table>

【QQ登录】回调地址常见问题及修改方法

百度一次 http://wiki.open.qq.com/wiki/[QQ登录]回调地址常见问题及修改方法 百度一下 http://wiki.connect.qq.com/回调地址常见问题及修改方法教程 http://jingyan.baidu.com/article/b87fe19e93539052183568f5.html 教程 http://www.chinaz.com/web/2015/1023/461390.shtml[QQ登录]回调地址常见问题及修改方法1. 什么是回调地址域名? 用

laraval开发之QQ登录

1.composer安装依赖 2.在config/app.php中注册providers并添加Socialite门面 3.在app/Providers/EventServiceProcider.php中添加监听事件 4.在config/service.php中添加QQ关键数据 5.在.env文件中配置关键数据 6.跳转QQ登录页面 7.获取QQ回调数据 8.更改回调路径

第三方登录(QQ登录)开发流程详解

原文  http://www.cnblogs.com/it-cen/p/4338202.html 主题 OpenID 近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解. 对于整个流程的详细文档可以到QQ互联官网( http://wiki.connect.qq.com )查看,我这里就简单地进行描述,主要是分析代码的实现过程. 我用的是CI框架(MVC模式),模板引擎用的是smarty. 下图为整个接入流程: 一.准备工作 接

WPF简单模拟QQ登录背景动画(转)

介绍 之所以说是简单模拟,是因为我不知道QQ登录背景动画是怎么实现的.这里是通过一些办法把它简化了,做成了类似的效果 效果图 大体思路 首先把背景看成是一个4行8列的点的阵距,X轴Y轴都是距离70.把点连起来,连成三角形.布局在外层蓝色的里,显示只显示里层绿色框里的部分.这样最外层的点不用动,只让绿框里面的点做随机运动就可以了.然后给三角形的Fill做颜色和时间都随机颜色动画,动画完成后再重新做颜色动画,循环. 在实现上,需要注意一下,每个点都对应多个三角形,要在生成三角形的时候,注册到点上,并

WPF简单模拟QQ登录背景动画

介绍 之所以说是简单模拟,是因为我不知道QQ登录背景动画是怎么实现的.这里是通过一些办法把它简化了,做成了类似的效果 效果图 大体思路 首先把背景看成是一个4行8列的点的阵距,X轴Y轴都是距离70.把点连起来,连成三角形.布局在外层蓝色的里,显示只显示里层绿色框里的部分.这样最外层的点不用动,只让绿框里面的点做随机运动就可以了.然后给三角形的Fill做颜色和时间都随机颜色动画,动画完成后再重新做颜色动画,循环. 在实现上,需要注意一下,每个点都对应多个三角形,要在生成三角形的时候,注册到点上,并

(转)第三方登录(QQ登录)开发流程详解

近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解. 对于整个流程的详细文档可以到QQ互联官网(http://wiki.connect.qq.com)查看,我这里就简单地进行描述,主要是分析代码的实现过程. 我用的是CI框架(MVC模式),模板引擎用的是smarty. 下图为整个接入流程: 一.准备工作 接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权.

第三方QQ登录 server-side

腾讯官方文档 申请appid和appkey的用途 appid:应用的唯一标识.在OAuth2.0认证过程中,appid的值即为oauth_consumer_key的值. appkey:appid对应的密钥,访问用户资源时用来验证应用的合法性.在OAuth2.0认证过程中,appkey的值即为oauth_consumer_secret的值. 放置登录按钮 <a target="_self" href="https://graph.qq.com/oauth2.0/autho

如何通过第三方QQ登录网站首页

QQ登录,就是我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目 若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现.注册方法参考链接http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85 成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID,最重要的是拿到APPID,创建应用的方法参考链接http://wiki.connect.qq