0
을 충족하지 않는 조건의 코드를 실행하면 3 개의 텍스트 필드가 있습니다. 마지막으로 도청 할 때 다른 컨트롤러를 푸시하는 델리게이트에서 didTapSomeField 메소드를 실행합니다. 이 textField는 다른 2처럼 편집 할 수 없습니다.textFieldShouldBeginEditing이 내 RubyMotion 컨트롤러에서
문제 : 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
나는 또한 시도 : http://www.rubymotion.com/developer-center/articles/debugging/ :
def textFieldShouldBeginEditing(textField)
#--------------------------------------------
if (textField == someField)
self.delegate.didTapSomeField \
if self.delegate.respond_to?(:didTapSomeField)
false
end
true
에 의해 responde_to을 대체하십시오 . 'someField'도 무엇입니까? 나에게 할당되지 않은 것 같습니다. 이름 오류가 나고 있습니까? – AJcodez
전혀 NameError가 아니기 때문에 좀 더 일반적인 질문을 게시 할 때 필드의 이름을 변경합니다. – jpgr