2012-12-13 2 views
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 
+0

에 의해 responde_to을 대체하십시오 . 'someField'도 무엇입니까? 나에게 할당되지 않은 것 같습니다. 이름 오류가 나고 있습니까? – AJcodez

+0

전혀 NameError가 아니기 때문에 좀 더 일반적인 질문을 게시 할 때 필드의 이름을 변경합니다. – jpgr

답변

0

이보기 public_send

관련 문제