ios 登录界面注册和获取验证码怎么做

 我来答
吉祥二进制
高粉答主

2016-03-18 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84569

向TA提问 私信TA
展开全部
可以参考下面的例子:
##新建一个项目
现在xcode新建的项目都是自带故事板的,操作不是很方便,我们来把它改成说写代码
打开AppDelegate.h文件,添加以下代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.rootViewController=[[ViewController alloc] init]; [self.window makeKeyAndVisible]; return YES; }
到此就完成了手写代码的第一步。
添加输入框和按钮
在ViewController.h中添加以下代码
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic,strong) UITextField *account;
@property (nonatomic,strong) UITextField *password;
@property (nonatomic,strong) UIButton *loginButton;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self.view setBackgroundColor:[UIColor colorWithRed:51/255.0 green:204/255.0 blue:255/255.0 alpha:1]];
_account=[[UITextField alloc] initWithFrame:CGRectMake(20, 200, self.view.frame.size.width-40, 50)];
_account.backgroundColor=[UIColor whiteColor];
_account.placeholder=[NSString stringWithFormat:@"Email"];
[self.view addSubview:_account];
_password=[[UITextField alloc] initWithFrame:CGRectMake(20, 260, self.view.frame.size.width-40, 50)];
_password.backgroundColor=[UIColor whiteColor];
_password.placeholder=[NSString stringWithFormat:@"Password"];
[self.view addSubview:_password];
_loginButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[_loginButton setFrame:CGRectMake(20, 320, self.view.frame.size.width-40, 50)];
[_loginButton setTitle:@"Login" forState:UIControlStateNormal];
[_loginButton setBackgroundColor:[UIColor colorWithRed:51/255.0 green:102/255.0 blue:255/255.0 alpha:1]];
[_loginButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[self.view addSubview:_loginButton];
}
@end

运行一下看看效果

Oh God!简直被丑哭了,完全没法看啊,我们来给它美化一下。
美化
先把输入框加上圆角属性。
Apple早就为开发者想到了,我们只要轻轻额添加一个属性即可实现这个效果
_account.layer.cornerRadius=5.0;

在layer下有一个cornerRadius属性,输入你想要圆角的大小就OK了。

运行程序,效果如上,恩,稍微好了那么一点点,还是很挫,接下来要把两个输入框合并起来。
但是合起来以后中间就会有凹进去的部分,所以我想到了另外几种方法。
1.单独只为上边添加圆角。
2.整体加一张背景。
两种方法都可以实现,那么我们先用第二种方法来实现。

先新建一个文件,继承UIView,把它作为背景。为什么要新建一个UIView呢,应为我们要用到它的绘图方法
- (void)drawRect:(CGRect)rect {
// Drawing code
}

在ViewController.h中修改以下代码
_background=[[textFieldBackground alloc] initWithFrame:CGRectMake(20, 200, self.view.frame.size.width-40, 100)];
[_background setBackgroundColor:[UIColor whiteColor]];
[[_background layer] setCornerRadius:5];
[[_background layer] setMasksToBounds:YES];
[self.view addSubview:_background];
_account=[[UITextField alloc] initWithFrame:CGRectMake(10, 0, self.view.frame.size.width-40, 50)];
[_account setBackgroundColor:[UIColor clearColor]];
_account.placeholder=[NSString stringWithFormat:@"Email"];
_account.layer.cornerRadius=5.0;
[_background addSubview:_account];
_password=[[UITextField alloc] initWithFrame:CGRectMake(10, 50, self.view.frame.size.width-40, 50)];
[_account setBackgroundColor:[UIColor clearColor]];
_password.placeholder=[NSString stringWithFormat:@"Password"];
_password.layer.cornerRadius=5.0;
[_background addSubview:_password];

又变好看了一点,不过还是少了点什么东西,对了,中间还少了一条分割线,这就是为什么要新建一个UIView了,马上要用到了他的绘图方法
修改一下方法
- (void)drawRect:(CGRect)rect {
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context,0.2);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 5, 50);
CGContextAddLineToPoint(context,self.frame.size.width-5, 50);
CGContextClosePath(context);
[[UIColor grayColor] setStroke];
CGContextStrokePath(context);
}

再看效果

就这样,一个简单的登录界面就完成了
Zoho Mail
2024-11-01 广告
外贸公司如何注册邮箱?做国际业务一定是要用到能做外贸的邮箱,给大家普及下最近网上说的TOM VIP邮箱。注册邮箱通常需要以下几个步骤选择邮箱服务提供商:首先,您需要选择一个合适的邮箱服务提供商。您可以根据服务商的知名度、口碑、容量、速度、安... 点击进入详情页
本回答由Zoho Mail提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式