首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何判断哪个UITextField刚刚触发了textFieldShouldReturn回调?

当需要判断哪个UITextField刚刚触发了textFieldShouldReturn回调时,可以通过给UITextField设置一个tag值,然后在textFieldShouldReturn方法中获取这个tag值来判断。

首先,在创建UITextField时,为其设置一个唯一的tag值,例如:

代码语言:swift
复制
let textField1 = UITextField()
textField1.tag = 1

let textField2 = UITextField()
textField2.tag = 2

然后,在textFieldShouldReturn方法中,获取当前触发回调的UITextField的tag值,并根据tag值进行相应的处理:

代码语言:swift
复制
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    switch textField.tag {
    case 1:
        // 处理textField1的回车事件
        break
    case 2:
        // 处理textField2的回车事件
        break
    default:
        break
    }
    return true
}

这样,就可以根据textFieldShouldReturn回调触发的UITextField的tag值,来判断哪个UITextField刚刚触发了textFieldShouldReturn回调。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

2.2 自定义包含UITextField的UITableViewCell   首先,我们在点击编辑区域的时候,获取到当前编辑区域相对屏幕的位置,这样方便我们判断整个tableview是否需要上移以及需要上移多少比较合适...BOOL isForbidEdit; //是否允许编辑 @property (assign, nonatomic) BOOL isHiddenLine; //是否隐藏分割线 //编辑结束时的...@property (copy, nonatomic) ContentEditResultBlock contentEditResultBlock; //编辑开始时的 @property (copy...主控制器中对自定义cell的应用,首先,我们再主控制器中定义几个属性来保存我们键盘弹出时tableview的contentOffset以及当前编辑cell的frame,然后在应用自定义cell时设定我们的两个...block,当开始编辑时,通过block传的frame参数设置对应的editFrame。

3.9K80
  • IOS开发之获取Storyboard创建的ViewController

    2.因为要由登陆状态来判断下面的View是否出现,所以主视图和带有A,B,C三个按钮的视图之间的切换不能用storyboard实现,我们要用代码关联实现。下面是登陆成功后要跳转的模块截图: ?...interface ViewController : UIViewController @end ​    (2)在ViewController.m中中进行注册和实现协议中相应的方法...,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -(BOOL) textFieldShouldReturn:(UITextField *)textField {     ...self.userName.delegate = self;     self.password.delegate = self; }   5.处理完键盘的事儿,就该处理我们当登陆按钮点击时的事件了...,首先在方法中获取TextFiled的值,由值的情况来实现是否进行页面间的切换。

    1.9K80

    UI篇-UIResponder之事件传递和响应精析

    分别有多点控、摇一摇以及远程操作(在iOS之后新增了3DTouch事件类型)。在一个用户点击事件处理过程中,UIEvent对象是唯一的。...每次点击发生的时候,点击对象都放在一个集合中传入UIResponder的方法中,我们通过集合中对象获取用户点击的位置。...UIView对象并不一定会把事件传递给每一个子view,因为UIView是通过hitTest方法来判断点击事件发生在哪个子view上面的,会采用逆序查询也就是优先查询后加载的子试图,这样做也是为了优化查找速度...如何看到这一切呢?...,然后在调用hitTest: withEvent:依次获取处理这个事件的所有视图对象,在获取所有的可处理事件对象后,开始调用这些对象的touches方法 在自定义View中重写 touchesBegan

    2.5K30

    rn手势功能实战

    那么,手势将成为在移动应用开发中一个重要的组成部分,移动设备上手势识别要比 web 端复杂得多,往往用户的一个手势,我们在 APP 上要通过好几个阶段去判断用户的真实意图是什么,在 ReactNative...,同时也会一个函数,通知组件事件响应处理被终止了: onResponderTerminate: (event) => {}:这个也会发生在系统直接终止组件的触摸事件处理中,比如用户在进行触摸操作的时候...区分是哪个手指的触摸事件。...具体的是: onStartShouldSetResponderCapture: () => true :在触摸事件开始的时候,RN 容器的组件就会收到这么一个函数,询问是否捕获事件成为响应者,如果返回...另外需要注意的是,上述的函数都是在 JS 线程中进行的,可能会有些许延迟。

    1.8K40

    iOS逆向开发(8):微信自动添加好友

    小程在这里只是演示“如何自动化”,目的并非加好友。 (二)如何实现 先是跟踪目标函数。 (1)群成员列表的界面类是什么? ?...如果微信的UITextField有长度限制(有些版本作了限制)的话,还可以重写文本框的以取消限制。 发送请求的类: ?...使用CContact::isMyContact,判断成员是否已经添加过了,如果是则下一个成员。 每点击一个成员时,设置一个变量的状态,然后进入等待,直到这个变量的状态变化,再进入下一个成员的点击。...进入验证界面,在SendVerifyMsgViewController::viewDidLoad时,设置好UITextField的内容,再触发onSendVerifyMsg的调用。...验证如果成功,则验证界面会自动消失,如果失败(失败有)则需要主动调用一下成功时的调用使得验证界面消失。这时即使有alertview弹框也不影响后续的操作。

    1.9K10

    Android Studio 知识储备 之 ✨-基础知识学习历程

    1.什么是方法?...2.Android的事件处理机制详解: 1)自定义view 2)基于的事件传播: 4.Handler消息传递机制浅析 5.TouchListener PK OnTouchEvent + 多点碰...1.基于监听的TouchListener 2.基于的onTouchEvent( )方法 3.多点碰 6.监听EditText的内容变化 1.监听EditText的内容变化 2.实现EditText...2.Android的事件处理机制详解: 在Android中基于的事件处理机制使用场景有两个: 1)自定义view 常见View组件的 android为GUI组件提供了一些事件处理的方法...onTouchEvent( )方法 同样是碰事件,但是onTouchEvent更多的是用于自定义的view,所有的view类中都重写了该方法,而这种触摸事件是基于的,也就是说:如果我们返回的值是

    64630

    云函数如何在 EventBridge 设计零售业务中台?

    自定义事件源 除了默认投递的事件外,EB 还支持自定义业务事件投递,您可以通过 Ckafka、TDMQ 等消息队列产品投递,API 网关 URL ,或者直接调用 API 接口等方式,自定义投递由业务方产生的事件信息...对于零售中台架构,业务平台产生的事件为自定义事件,可通过调用接口或的方式,以统一规范投递给 EventBridge。...步骤二:配置路由规则 如何对收集到的不同业务来源事件进行分类处理,是中台系统需要关注的另一个问题,EventBridge 的规则过滤与筛选能力可以有效解决。...云函数投递:触发方式选择「云函数(SCF)」--「已有函数」,选择刚刚已部署好的云函数进行绑定 5....告警链路测试 配置完成后,回到事件集控制台,选择刚刚已绑定的事件集,单击发送事件,可以选择已绑定的事件规则模版,单击发送进行测试,如果同时收到了推送消息并自动进行滚,即可确认您的业务故障自动化运维架构已完成搭建

    82231

    【今天你更博学了么】一个神奇的交叉观察 API Intersection Observer

    在观察者包含多个目标的情况下,这是确定哪个目标元素触发了此相交更改的简便方法。 time: 该属性提供从 首次创建观察者 到 触发此交集改变 的时间(以毫秒为单位)。...thresholds 我们把 threshold 修改为 [0.1, 0.3, 0.5, 0.8, 1],可以看到,函数触发了多次,也就是说当交叉区域的百分比,每达到指定的阈值时都会触发一次函数...注意 Intersection Observer API 无法提供重叠的像素个数或者具体哪个像素重叠,他的更常见的使用方式是——当两个元素相交比例在 N% 左右时,触发回,以执行某些逻辑。...通过动图可以看到,当我单击 observe 按钮后,我们的 entries 数组里面就包含了两条数据,前文中说到,可以通过 target 属性来判断哪个目标元素。...,所以不要直接在函数里写逻辑代码,尽量通过 isIntersecting 或者 intersectionRect 进行判断之后再执行逻辑代码。

    1.1K30

    关于事件的前端面试题总结

    如何屏蔽掉这个不同? 移动端的click事件会延迟300ms触发事件(只在部分手机浏览器上出现)。 为什么会这样? 因为手机浏览器中需要处理如翻页这样复杂的手势。...在用户做翻页或双击放大等操作时,是先将手指碰到屏幕(此时理应已经触发了click事件),然后再上下移动手指,浏览器开发厂商为了识别这种事件,所以加入了300ms延迟的处理。...点击穿透是指在移动端,由于click事件延迟300ms触发,那么如果300ms内,页面显示变化(主要是指DOM的隐藏和显示)的话,会出现实际点击元素触发了touch事件,而300ms后该位置的实际元素又被再次触发了...也就是说,当此事件处理程序被触发时,通过当前事件对象中的target来确认究竟是在哪个元素触发的事件,从而达到一次注册 处理多个元素触发事件的目的。...向“任务队列”插入的是一个个事件处理函数(确切的说是函数地址)或定时任务(setTimeout的)。

    1.6K50

    Android面试官最爱问的12个自定义View的高级问题

    参考简答: 拦截条件判断:通过在onInterceptTouchEvent中判断条件,决定是否拦截事件。例如,根据手势方向拦截横向或纵向滑动。...自定义View中的多点控与滑动 问题:如何使用GestureDetector实现手势识别? 出发点:测试面试者对于手势处理工具的熟练掌握程度。...问题:在自定义View中,如何处理多点控事件? 出发点:考察面试者对于多点控事件处理的实际操作能力。...缩放:结合ScaleGestureDetector,在onScale中处理缩放操作,并通过矩阵变换实现View的缩放效果。...参考简答: 避免匿名内部类:对于涉及到的地方,使用静态内部类,避免持有外部类的引用。 资源回收:在onDetachedFromWindow中释放资源,避免在不需要时持有大内存对象。

    1K20

    Hands On GUI Application Development in Go

    开发者可以根据自己的需要,直接在相应的代码上进行修改或重绘,开发出有自己风格,特色的界面 实现了用户的手势识别(例如:手指滑动,鼠标按下/释放)的消息传递,将用户的输入信息传递到整个GUI体系树中,并调用相应的响应函数...;开发者可以根据自己的需要添加/修改响应函数。...被点中,dialog的哪个button被点中,并调用buton被点中的函数,用于作相应处理(一般会进行button的状态修改及重绘工作) 界面元素如何创建 所有界面元素都继承自c_wnd类的对象,对象被实例化时...attr:属性值 is_focus_wnd 判断自己(this)是否可以获得焦点 set_wnd_pos 设置自己(this)相对于父窗口的窗口位置。...x:用户控点的坐标x;y:用户控点的坐标y;action:用户的控类型,包括:按下,释放 on_key 响应用户的按键消息。key:用户点击的按键键值。

    1.1K10

    Java高频面试题- 每日三连问?【Day26】 — ZooKeeper篇(二)

    当整个 zookeeper 集群刚刚启动或者 Leader 服务器宕机、重启或者网络故障导致不存在过 半的服务器与 Leader 服务器保持正常通信时,所有进程(服务 器)进入崩溃恢复模式, 首先选举产生新的...03 Zookeeper Watcher 机制 -- 数据变更通知 正经回答: Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务端的一些 指定事件触发了这个...工作机制: (1)客户端注册 watcher (2)服务端处理 watcher (3)客户端 watcher Watcher 特性总结: (1)一次性 无论是服务端还是客户端,一旦一个 Watcher...被 发 ,Zookeeper 都会将其从相应的存储中移除。...(2)客户端串行执行 客户端 Watcher 的过程是一个串行同步的过程。 (3)轻量 Watcher 通知非常简单,只会告诉客户端发生了事件,而不会说明事件的 具体内容。

    19020

    GestureDetector源码解析

    onContextClick(MotionEvent e); } 3 源码分析     GestureDetector中的逻辑处理可以拆解成三部分,第一部分是在onTouchEvent中的逻辑处理和方法...,第二部分是通过handler的方法,第三部分是控制变量相关的处理。    ...3.2 通过GestureHandler处理的 先来看下handleMessage的处理逻辑 @Override public void handleMessage(Message msg) {...总结     通过上面的源码拆解分析,可以看出来GestureDetector如何通过控制变量,handler和MotionEvent共同来判断触摸行为的。     ...DOWN事件必然会调用的是onDown(),确认是双击后,可能会调用的是onDoubleTap()和onDoubleTapEvent(),之后MOVE和UP事件会各调用一次onDoubleTapEvent

    49400

    android 有阻尼下拉刷新列表的实现方法

    我们也看到,PullToRefreshListView的实例需要设置一个OnLoadCallBack,该回需要实现4个方法,包括: /** * 下拉刷新的 */ public...onLoad方法是下拉刷新的,调用者可以在这里实现刷新动作。cancelLoad方法是取消刷新动作的,调用者需要在这里将刷新动作取消。...如何判断ListView是否已经滚动到顶部 下一步,我们如何判断ListView是否处于“滚动到顶部”状态呢?这一问题我PullToRefreshListView的onScroll中解决。...,其中为ValueAnimator设置的中,在动画更新和动画结束以及动画取消中分别调用了OnLoadCallBack的3歌方法,从而实现PullToRefreshListView的下拉刷新动作。...下拉刷新的背景 * @return 背景drawable */ Drawable refreshDrawable(); } /** * 设置下拉刷新 * @param cb */ public

    3.5K10
    领券