美文网首页iOSIOS开发程序员
iOS-UITextField代理协议中方法

iOS-UITextField代理协议中方法

作者: 三木成森 | 来源:发表于2015-08-28 13:43 被阅读9586次

UITextField:(输入框)控件作为UI中经常用到的一种控件.它用来显示文字和编辑文字.核心功能是文字编辑.而这篇文章主要是简单的说明输入框代理中的可选方法.

首先我们来了解下如何手动创建输入框(不做详细讲解).

1.创建输入框对象

UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(30, 100, 300, 40)];

2.配置相关属性

tf.backgroundColor = [UIColor yellowColor];//以颜色为例

2.1代理(监测输入框的各种行为)

tf.delegate = self;//代理指定为自身所在的类对象

3.添加到父类视图(这样才能在视图界面上看到)

[self.window addSubview:tf];

4.释放所有权

[tf release]

下面说下当使用代理,就需要代理协议UITextFieldDelegate,我们可以进到这个协议里看到里面的方法,一共七个都是可选实现的.也就是说,我们可以根据自己的需求来实现相应的方法.下图是协议里每个方法的作用:

UITextFieldDelegate协议七个可选实现的方法

接下来,用代理的方法简单的实现界面输入框回收键盘的操作(点击键盘的return,键盘回收).要使用代理,就要这个类遵守UITextFieldDelegate协议.(我这里用的是iOS创建工程的空白类项目,里面生成了一个AppDelegate类).

在AppDelegate.m文件中,在类的延展,括号后面加上协议,这样就不用再去类的.h文件添加协议了.

在AppDelegate类延展里添加协议

添加协议后,在AppDelegate.m文件中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法中添加一个输入框.

简单的创建一个输入框

对该输入框设置好代理属性后,我们就要对协议中的- (BOOL)textFieldShouldReturn:(UITextField *)textField;这个方法进行实现,因为它是用来回收键盘的(点击键盘右下角return).

在.m文件中对协议中某方法的简单实现

这样的话,我们就可以冲效果图上看到,当我们点击return后,键盘会自动回收.

例子效果图

在后面的更新中,会添加当鼠标点击视图空白区域时,键盘退出的效果.尽请期待!

相关文章

  • iOS-UITextField代理协议中方法

    UITextField:(输入框)控件作为UI中经常用到的一种控件.它用来显示文字和编辑文字.核心功能是文字编辑....

  • 在UIView上添加触摸事件

    方法1.协议和代理在UIView中设置协议和代理属性 让UIViewController遵守协议并实现协议中的中的...

  • 自定义 popover

    首先在头文件中需要提供 协议:代理协议方法:方便的初始化方法,显示和隐藏方法属性:代理以及用于tableviewc...

  • Objective-C笔记(四)委托-代理模式

    协议委托代理是OC中类之间的一种通信方式委托代理思想:1、定义协议2、生成委托3、代理方法调用 1、定义协议 对于...

  • iOS中协议和代理的理解

    iOS中协议和代理的理解 协议(Protocol) : OC中可以把协议理解为方法的集合,一个协议下有很多方法,包...

  • swift 协议的可选方法

    在协议中定义方法 扩展协议,在扩展协议中给出默认实现 如果代理实现了此方法,会覆盖默认实现 public prot...

  • 练习代码day1

    //应用程序代理类 //AppDelegate中的方法都是UIApplicationDelegatez的协议方法 ...

  • Objective-C总结----3.协议、分类、扩展

    简介 协议在协议中声明方法和属性,在遵守此协议的类中实现协议中声明的方法。在iOS开发中常用于代理设计模式,实现M...

  • IOS开发之协议和代理

    【iOS开发技术分享】协议与代理 【iOS开发技术分享】协议与代理 一、理解协议与代理 协议: 协议是一个方法签名...

  • OC与JS通信的几种方式

    在代理方法中拦截协议 使用 JavaScriptCore WKWebView 的 WKScriptMessageh...

网友评论

  • feng_dev:大神很厉害 哇哈哈
  • 830f18dc4f7b:谢谢分享。
  • 志城:这都是十分基础的了。
    三木成森:@志城 厉害
    志城:@三木成森 当我还是菜鸟的时候,我就到头文件里面去看,看到一个不懂就就去百度。现在这个习惯还改不了。。。
    三木成森:@志城 是啊,当我还是菜鸟的时候,上网查东西,很多知识讲解文章写的大部分都不适合新人看,很模糊,所以我想写这些基础的

本文标题:iOS-UITextField代理协议中方法

本文链接:https://www.haomeiwen.com/subject/mlqqcttx.html