在我的 RubyMotion 控制器中,我有 3 个文本字段。最后一个,当点击时,在委托中运行方法 didTapSomeField ,该方法推动另一个控制器。此文本字段无法像其他 2 一样进行编辑。
问题:当我从 nameField 选项卡到 emailAddressField 或从 emailAddressField 选项卡出来时,它在委托 didTapSomeField 上运行该方法。我已经三重检查了我的第一响应者代码,为什么如果 textField 不等于 someField,为什么它仍在运行 if 语句中的内容?谢谢您的帮助!
#
# method. textFieldShouldReturn
#
def textFieldShouldReturn( textField )
#---------------------------------------
if textField == self.nameField
self.emailAddressField.becomeFirstResponder
elsif textField == self.emailAddressField
self.didTapDoneButton
end
end
#
# method. textField shouldChangeCharactersInRange replacementString
#
def textField( textField,
shouldChangeCharactersInRange: range,
replacementString: string )
#----------------------------------------------------
if textField == self.nameField
true
elsif textField == self.emailAddressField
true
end
end
def textFieldShouldBeginEditing( textField )
#--------------------------------------------
if ( textField == someField )
self.delegate.didTapSomeField \
if self.delegate.respond_to?( :didTapSomeField )
false
else
true
end
end
我也试过:
def textFieldShouldBeginEditing( textField )
#--------------------------------------------
if ( textField == someField )
self.delegate.didTapSomeField \
if self.delegate.respond_to?( :didTapSomeField )
false
end
true