2013-08-25 5 views
1

내가보기에 두 UITextField들이 모두 내 방식으로 연결되어주어진 보낸 사람

- (IBAction)showContactPicker:(id)sender; 

지금 내가 가진 텍스트 필드의 값을 변경하려면하여 UITextField에의 값을 변경하는 방법 주어진 발신자.

어떻게하면됩니까?

답변

2

태그를 사용하여이를 수행 할 수 있습니다. 스토리 보드에서 각 텍스트 필드에 속성 검사기에서 액세스 할 수있는 태그를 지정합니다. 다른 하나의 텍스트 필드 2에서 1

enter image description here

집합이.

보낸 사람의 ID 유형은 모든 개체가 될 수 있음을 의미합니다. 보낸 사람이 UITextField가 될 것이라는 것을 알기 때문에 UITextField를 캐스팅하여 컴파일러에게 알려야합니다. 당신의 showContactPicker, 당신을 이렇게하려면 다음 방법이 당신이 보낸 변수가의 UITextField에 대한 포인터가 될 것이라는 점을 보장하는 컴파일러를 알려줍니다

UITextField *newTextField = (UITextField *)sender; 

말한다.

이 후에는

if (sender.tag == 1) { 
    //Change the slider corresponding to the first textfield 
} else if (sender.tag == 2) { 
    //Change the slider corresponding to the second textfield 
} 
+0

감사 : '의 UITextField * theTextField = (의 UITextField *) – user2715505

+0

감사를 sender.', 난 당신이 단지의 유형을 변경할 수 있습니다 –

+1

캐스트 단계를 방지하기 위해 반영하도록 편집 보낸 사람을 작업 메서드 이름으로 UITextField로 보냅니다. '- (IBAction) showContactPicker : (UITextField *) sender; ' –

3

보낸이의 UITextField입니다 말할 수 있습니다. 새로운 UITextField 변수로 캐스팅하여 사용하십시오.

UITextField *theTextField = (UITextField *)sender; 

또한 인스턴스 변수로 IBOutlet을 보내고 ==를 사용하여 보낸 사람과 비교할 수도 있습니다. 그것은 단지 atomk에서 수정을하지만, 작동

+0

당신이 필요합니다; 그 라인의 마침표 대신에 –