我有UITextField
可以设置为编辑模式。
通常,通过在键盘上输入“完成”来结束编辑。
这会调用textFieldDidEndEditing(_ textField: UITextField)
,在那里发生一些家务。
但是,在极少数情况下,会显示一条警告,表明用户输入了地理围栏。如果文本字段处于编辑模式,则它会重新响应第一响应者状态,因为警报视图成为第一响应者,并且还调用textFieldDidEndEditing(_ textField: UITextField)
。取消警报后,将恢复文本字段的第一个响应者状态。
问题:
我必须区分这两种情况:
如果文本字段由于键盘上的“完成”而结束编辑,则应该进行内务管理
如果由于显示警报而结束编辑,则不得进行内务处理。
那么,我怎样才能区分这两种情况呢?
我尝试使用委托功能
textFieldDidEndEditing(_ textField: UITextField, reason: UITextFieldDidEndEditingReason)
其中reason
可能是cancelled
或committed
,两种情况都是committed
。
答案 0 :(得分:2)
您可以使用import numpy as np
import pymc3 as pm
with pm.Model() as model:
dist = pm.Mixture('dist', np.array([0.25, 0.75]),
[pm.Uniform.dist(-0.15, -0.05), pm.Uniform.dist(0., 0.05)])
N = 10000
samples = dist.random(size=10000)
并假设您可以识别地理围栏已被触发,返回false,这将使textField保持编辑模式,否则返回true,并且可以开始管理
textFieldShouldEndEditing