`

iPhone UI设计注册页面的实现及TextField关闭键盘的两种方法

阅读更多

在Xcode4.3.2中,我们新建一个IOS CocoaTouch项目,命名为:register。在ViewController.h文件中定义四个输出口:user,pass,year,sex;

Label因为不需要获取数据所以可以不定义输出口,定义两个Button按钮:Cancal,ok;

在ViewController.h中定义如下:

 

[plain] view plaincopy
  1. //  
  2. //  ViewController.h  
  3. //  register  
  4. //  
  5. //  Created by bo yang on 5/10/12.  
  6. //  Copyright (c) 2012 __MyCompanyName__. All rights reserved.  
  7. //  
  8.   
  9. #import <UIKit/UIKit.h>  
  10.   
  11. @interface ViewController : UIViewController  
  12.   
  13. {  
  14.     UIButton *cancal;  
  15.     UIButton *ok;  
  16.     UITextField *textuser;  
  17.     UITextField *textpass;  
  18.     UITextField *textsex;  
  19.     UITextField *year;  
  20. }  
  21. @property IBOutlet UIButton *cancal;  
  22. @property IBOutlet UIButton *ok;  
  23. @property IBOutlet UITextField *textuser;  
  24. @property IBOutlet UITextField *textpass;  
  25. @property IBOutlet UITextField *textsex;  
  26. @property IBAction UITextField *year;  
  27. @end  
在头文件和实现文件中分别实现存储器功能:

 

 

[plain] view plaincopy
  1. //  
  2. //  ViewController.m  
  3. //  register  
  4. //  
  5. //  Created by bo yang on 5/10/12.  
  6. //  Copyright (c) 2012 __MyCompanyName__. All rights reserved.  
  7. //  
  8.   
  9. #import "ViewController.h"  
  10.   
  11. @interface ViewController ()  
  12.   
  13. @end  
  14.   
  15. @implementation ViewController  
  16. @synthesize cancal;  
  17. @synthesize ok;  
  18. @synthesize textuser;  
  19. @synthesize textpass;  
  20. @synthesize textsex;  
  21.   
  22.   
  23. - (void)viewDidLoad  
  24. {  
  25.     [super viewDidLoad];  
  26.     // Do any additional setup after loading the view, typically from a nib.  
  27. }  
  28.   
  29. - (void)viewDidUnload  
  30. {  
  31.     [super viewDidUnload];  
  32.     // Release any retained subviews of the main view.  
  33. }  
  34.   
  35. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  36. {  
  37.     return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);  
  38. }  
  39.   
  40. @end  

然后我们在ViewController.xib文件中设计UI界面:

 


“register”为Label标签,修改了字体的大小和颜色;

添加了一个背景;

Label:user,pass,sex,year;

Button:Cancal,Ok

然后我们实现关闭键盘的方法:

       首先在头文件ViewController.h中添加一个方法:

 

[plain] view plaincopy
  1. -(IBAction)TextFieldDoneEditing:(id)sender;  
在ViewController.m中实现此方法:

 

 

[plain] view plaincopy
  1. -(void)TextFieldDoneEditing:(id)sender  
  2. {  
  3.     [sender resignFirstResponder];  
  4. }  
然后让四个TextField的Did End on Exit方法连接到TextFieldDoneEditing方法上即可实现通过软键盘return关闭键盘功能。

 

由于我们输入的信息不同,激活的键盘格式也不一样,比如说Number key就是没有return键的,那么我们如何关闭这样的键盘呢?

我们在ViewController.h中添加一个新的方法:

 

[plain] view plaincopy
  1. -(IBAction)BackgroundClick:(id)sender;  

在ViewController.m中实现:

 

 

[plain] view plaincopy
  1. -(void)BackgroundClick:(id)sender  
  2. {  
  3.     [textuser resignFirstResponder];  
  4.     [textpass resignFirstResponder];  
  5.     [textsex resignFirstResponder];  
  6.     [textyear resignFirstResponder];  
  7. }  

把每个textField都添加进去,然后在每个TextField的touch up inside方法连接到BackgroundClick方法上即可。

 

这样,我们输完内容后,点击非活动背景即可关闭键盘,大家尝试一下吧。有什么问题给我留言,谢谢。

0
2
分享到:
评论

相关推荐

    代码实现Lable 、textField创建界面以及键盘的处理

    本教程将专注于使用代码实现Label和TextField来构建UI,并探讨如何处理键盘的显示与关闭。我们将结合`LTFDemo`这个示例项目进行讲解。 首先,让我们了解Label和TextField的基本概念。Label(标签)是用来展示静态...

    TextField和键盘上移位置

    为了解决这个问题,开发者通常会实现一种机制,使得`TableView`或`ScrollView`能够自动上移到键盘上方,以便用户能清晰看到正在输入的`TextField`。 在iOS中,我们可以利用`UIKeyboardWillShowNotification`和`...

    iOS textField弹出自定义键盘(日期时间、省市、国家)

    首先,我们需要创建一个继承自`UIView`的类,并在其内部设计键盘的布局和交互逻辑。可以使用`UIButton`、`UILabel`等组件来模拟键盘键位,然后通过监听按钮点击事件来处理输入。同时,确保将这个自定义键盘关联到`...

    iphone自定义数字键盘

    通过实现`textField(_:shouldChangeCharactersIn:replacementString:)`方法,我们可以控制输入的内容,并将自定义键盘的输入值传递给文本输入框。 三、显示与隐藏键盘 - 显示键盘:在需要使用自定义键盘的地方,...

    iPhone隐藏键盘 教程

    本教程将深入探讨如何在iPhone应用中实现这一功能,结合代码示例和文档,帮助开发者更好地理解和实践。 首先,我们来看一下基本的Swift代码实现。在iOS中,UIResponder类有一个名为`resignFirstResponder`的方法,...

    自定义输入textfield

    2. **交互行为**:这可以是添加动画效果、更改键盘类型、实现输入验证等。例如,当用户开始输入时,可以添加一个淡入动画,或者限制只能输入数字或特定格式的数据。 3. **扩展功能**:这可能包括添加下拉菜单、日期...

    SwiftUI实战之验证手机号并限制长度TextField

    `TextField`支持多种修饰符,如`keyboardType`用于指定键盘类型(如电话键盘)、`onCommit`用于处理用户完成输入时的事件,以及`textFieldStyle`用于自定义样式。 4. **手机号验证**: 验证手机号通常涉及正则...

    IOS应用源码之让键盘消失textField .zip

    这个"IOS应用源码之让键盘消失textField .zip"文件可能包含了一个示例项目,演示了如何在用户点击textField或者按下其他按钮时实现键盘的自动消失。 首先,我们需要了解UITextField的代理方法。当一个UITextField被...

    基于TextField的图文混编的组件

    基于TextField的图文混编组件是一种解决方案,它利用了Adobe Flash(ActionScript 3,AS3)中的TextField类来实现这一功能。TextField在Flash中是一个基础的文本显示和编辑控件,它可以处理简单的文本输入,但通过...

    textField的一个简单例子

    在这个"textField的一个简单例子"中,我们将探讨如何实现键盘的点击隐藏,并解决键盘弹出时遮挡`textField`的问题。这个例子可能涉及到`UITableView`的使用,因为通常在列表视图中,`textField`会出现在单元格中。 ...

    swift-自动控制viewController的textView和textField被键盘遮挡问题引入.h即可

    在Swift开发过程中,我们经常会遇到一个困扰用户界面(UI)设计的问题:当用户在文本视图(如textView或textField)中输入时,弹出的键盘可能会遮挡这些输入控件,影响用户体验。为了解决这个问题,我们可以引入一个...

    iOS中只让textField使用键盘通知的实例代码

    在`viewDidLoad`方法中,我们注册了两个通知:`UITextFieldTextDidBeginEditingNotification` 和 `UITextFieldTextDidEndEditingNotification`。这两个通知分别在textField开始编辑(用户点击textField并唤起键盘)...

    TextField-InputView, UITextField InputView模式:终结注册类、信息采集类.zip

    在实际开发中,我们可以结合项目的源码,了解其设计理念和实现方式,以便更好地应用到自己的项目中,提升开发效率和产品质量。 在`TextField-InputView-master`这个压缩包中,可能包含了项目的所有源代码、资源文件...

    swift-iOSPlaceholder和icon替换出现的TextField组件

    在iOS应用开发中,用户界面的设计与交互是至关重要的,其中`TextField`组件扮演着接收用户输入的关键角色。`UITextField`是苹果提供的一个基础UI元素,用于创建可以在屏幕上输入文本的区域。本篇文章将深入探讨如何...

    点击textField,屏幕下方自定义UIView随软键盘同时推出和退下

    iOS提供了`UIKeyboardWillShowNotification`和`UIKeyboardWillHideNotification`这两个通知,可以在视图控制器中注册监听这些通知。 ```swift override func viewDidLoad() { super.viewDidLoad() ...

    文本编辑器-textField实现

    在“文本编辑器-textField实现”项目中,我们关注的是如何扩展`TextField`的基本功能,以实现类似富文本编辑器的效果,包括换行、空格、文字格式化(如加粗)、颜色设置、字号调整以及字体选择。 首先,我们需要...

    自定义textfield

    此外,还可以考虑利用SwiftUI(iOS)或Jetpack Compose(Android)这样的声明式UI框架,通过组合构建出更加复杂的自定义`TextField`组件。 总之,自定义`TextField`能够使用户界面更加个性化,提供更好的用户体验。...

    ios-实现textview和textfield的联动.zip

    在iOS开发中,实现TextView和TextField的联动效果,通常是用于创建类似即时通讯应用中的输入框交互体验,如QQ或微信的聊天界面。这种效果让用户在输入文字时,能够无缝地在TextField(通常用于输入短暂、单行的文字...

    手工创建TextField

    3. **键盘回调**: 我们可以设置键盘相关的代理方法来处理键盘的显示和隐藏,以及用户输入的响应。`UITextField`遵循`UIControl`和`UITextInput`协议,提供了以下回调方法: - `textFieldShouldBeginEditing(_ ...

    Android代码-安卓ui设计

    在Android开发中,UI设计是至关重要的,因为它直接影响到应用程序的用户体验。Android Studio作为Google官方推荐的集成开发环境(IDE),提供了丰富的工具和技术来帮助开发者创建美观且功能强大的用户界面。"MyUi...

Global site tag (gtag.js) - Google Analytics