2010-08-11 7 views
8

가능한 중복 : 나는 MonoTouch.Dialogs에서 DialogViewController을 사용하고
MonoTouch.Dialog: Dismissing keyboard by touching anywhere in DialogViewControllerDialogViewController (MonoTouch.Dialog)의 배경을 터치하여 iPhone 키보드를 닫을 수 있습니까?

. 대화 상자의 배경을 클릭하여 키보드를 닫을 수 있습니다.

나는 일반적으로 큰 사용자 정의 버튼으로보기를 채우고 다른 모든 요소 뒤에 배치하는 기술을 사용합니다. 그러나 DialogViewController에서이 작업을 수행 할 수 없습니다. LoadView에서이 작업을 수행했으며 다른 모든 컨트롤을 동결 시켰습니다.

내가 원하는 것을 얻기위한 비교적 간단한 방법이 있습니까? 뷰 컨트롤러에서

답변

7

:

public override void TouchesBegan (NSSet touches, UIEvent evt) 
    { 
     base.TouchesBegan (touches, evt); 

     myField.ResignFirstResponder(); 
    } 

편집 : 내가 읽은 무엇을, 당신은 셀의 서브 뷰 대신 테이블 자체에 대한 TouchesBegan 이벤트를 사용할 수 있습니다에서. 나는 그 일이 긍정적이지 않다. 행운을 빌어 요 :)

+0

하나는 일반적인 문제에 깔끔한 접근 방식의로 실제로 .NET : –

+1

1에있는을 위해. 그러나, 그것은 MonoTouch.Dialog 내 문제를 해결하지 않습니다. 이것은 TouchesBegan 이벤트를 수신하지 않는 UITableViewController의 자손입니다. – dommer

+0

-1 원래 질문에서 묻는 MonoTouch.Dialog에는 작동하지 않습니다. – CDeutsch

1

miguel.de.icaza가 다른 스레드에서이 질문에 답변했습니다 : https://stackoverflow.com/a/10864640/1134836.

그의 해결책 :

var tap = new UITapGestureRecognizer(); 
    tap.AddTarget (() =>{ 
     dvc.View.EndEditing (true); 
    }); 
    dvc.View.AddGestureRecognizer (tap); 
+0

중복 질문에 중복 답변을 게시하는 대신 질문을 중복으로 표시하여 도움을받을 수 있습니다. –

+0

나는 전에 그것을 한 적이 없다. 나는 그 질문 아래 깃발 링크라고 생각 하나? – valdetero

+0

예. 신고하는 대화 상자에서 '기타'옵션을 사용하십시오. –

관련 문제