A.storyboard 控件版
1.label
2.textfield
     a.Keyboard Type
          账号:Number Pad
          密码:Number and Punctuation
     b.Placeholder:提示文字
     c.Clear Button: Appears with editing 清除按钮
     d.Secure Text Entry:密码格式输入
3.button
 1 @interface ViewController ()
2 @property (weak, nonatomic) IBOutlet UITextField *qqField;
3 @property (weak, nonatomic) IBOutlet UITextField *pwdField;
4
5 - (IBAction)login;
6
7 @end
8
9 @implementation ViewController
10
11 - (void)viewDidLoad {
12 [super viewDidLoad];
13 // Do any additional setup after loading the view, typically from a nib.
14 }
15
16 - (void)didReceiveMemoryWarning {
17 [super didReceiveMemoryWarning];
18 // Dispose of any resources that can be recreated.
19 }
20
21 - (IBAction)login {
22 NSLog(@"%@ - %@", self.qqField.text, self.pwdField.text);
23 }
24 @end
 
B.通过代码创建按钮
 1 @interface ViewController ()
2
3 - (void) addLabel;
4 - (void) addTextField;
5 - (void) addLoginButton;
6 - (void) login;
7
8 @end
9
10 @implementation ViewController
11
12 - (void)viewDidLoad {
13 [super viewDidLoad];
14 // Do any additional setup after loading the view, typically from a nib.
15
16 [self addLabel];
17 [self addTextField];
18 [self addLoginButton];
19 }
20
21 - (void)didReceiveMemoryWarning {
22 [super didReceiveMemoryWarning];
23 // Dispose of any resources that can be recreated.
24 }
25
26 - (void) addLabel {
27 UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 45, self.view.frame.size.width, 21)];
28 [titleLabel setTextAlignment:NSTextAlignmentCenter];
29 titleLabel.text = @"QQ登陆界面2";
30 [self.view addSubview:titleLabel];
31
32 UILabel *qqLabel = [[UILabel alloc] initWithFrame:CGRectMake(60, 91, 26, 21)];
33 qqLabel.text = @"QQ";
34 [self.view addSubview:qqLabel];
35
36 UILabel *pwdLabel = [[UILabel alloc] initWithFrame:CGRectMake(60, 131, 34, 21)];
37 pwdLabel.text = @"密码";
38 [self.view addSubview:pwdLabel];
39 }
40
41 - (void) addTextField {
42 UITextField *qqField = [[UITextField alloc] initWithFrame:CGRectMake(109, 87, 151, 30)];
43 qqField.placeholder = @"请输入QQ账号";
44 [qqField setClearButtonMode:UITextFieldViewModeWhileEditing];
45 [qqField setKeyboardType:UIKeyboardTypeNumberPad];
46 [qqField setBorderStyle:UITextBorderStyleRoundedRect];
47 [qqField setTag:1];
48 [self.view addSubview:qqField];
49
50 UITextField *pwdField = [[UITextField alloc] initWithFrame:CGRectMake(109, 127, 151, 30)];
51 pwdField.placeholder = @"请输入QQ密码";
52 [pwdField setSecureTextEntry:YES];
53 [pwdField setKeyboardType:UIKeyboardTypeNumbersAndPunctuation];
54 [pwdField setClearButtonMode:UITextFieldViewModeWhileEditing];
55 [pwdField setBorderStyle:UITextBorderStyleRoundedRect];
56 [pwdField setTag:2];
57 [self.view addSubview:pwdField];
58 }
59
60 - (void) addLoginButton {
61 // 注意如果使用UIButtonTypeCustom,默认背景色和titleColor都是是白色,显示不出来
62 UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeSystem];
63
64 CGRect loginRect = CGRectMake(145, 177, 30, 30);
65 loginButton.frame = loginRect;
66 [loginButton setTitle:@"登陆" forState:UIControlStateNormal];
67 [loginButton addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchUpInside];
68
69 [self.view addSubview:loginButton];
70 }
71
72 #pragma mark - action
73 - (void) login {
74 UITextField *qqField = [self.view viewWithTag:1];
75 UITextField *pwdField = [self.view viewWithTag:2];
76
77 NSLog(@"登陆---->%@ - %@", qqField.text, pwdField.text);
78 }
79 @end
 
 

最新文章

  1. Web APi之认证(Authentication)两种实现方式后续【三】(十五)
  2. 虚拟机安装ubuntu问题解决办法
  3. How to create vlan on Linux (with Cisco Catalyst Switch)
  4. T-SQL 基础学习 02
  5. 6.Linux的文件权限与目录配置
  6. android微信分享要注意的地方
  7. grads 用arcgis分析站点的网格
  8. Liferay 7 portlet中所有能在@Component中修改的属性
  9. 解决win8 64位提示MSVCP71.DLL等组件缺失
  10. BZOJ 1831 逆序对
  11. python基础--杂项
  12. 深入研究 Win32 结构化异常处理(作者博客有许多SEH的研究文章)
  13. Java设计模式偷跑系列(十八)建模和责任链模式的实现
  14. Linux目录树详细说明
  15. 2015年4月29日 dayofweek
  16. linux添加crontab定时任务
  17. iPhone X手机投屏电脑无线连接教程
  18. JVM-字节码
  19. QT使用SQLite
  20. 批处理TOMCAT8.0自动重启任务

热门文章

  1. 使用Data Annotations进行手动数据验证
  2. [扫描线]POJ2932 Coneology
  3. 看文档要看仔细,英语要加强啊... cocos2d-x 的 API 和 对应版本的 cocos2d-js 的 API 没有完全对应
  4. 如何:在 Winform 动态启动、控制台命令行?
  5. JavaScript DOM高级程序设计 4.2 事件类型--我要坚持到底!
  6. Smallest unused ID
  7. windows编译 obs-studio
  8. 测试darwin calendar 服务器
  9. oracle 导入导出数据
  10. 剑指Offer:连续子数组的最大和