2013-07-05 3 views
9

UITextView에서 addTarget 메서드를 어떻게 사용합니까? UITextField와 함께 사용할 수는 있지만 UITextView에서는 사용할 수 없다는 것을 알고 있습니다. 나는 심지어 UITextView로 액션을 만들 수 없다. 이 일을 할 수있는 방법이 있습니까? 미리 감사드립니다.UITextView를 호출하는 방법 addTarget 메서드

+0

은'UITextView'는 그런 이벤트에 응답하는 것은 아닙니다. 어떤 기능을 수행하고 있습니까? –

+0

나는'UITextView'와 항상 같은 텍스트를 가지는'NSString' 변수를 만들고 싶습니다. 그래서'addTarget' 또는'IBAction'이 필요합니다. 맞습니까? 그리고, 그런데,'UITextField' 대신에'UITextView'를 두는 이유는이 편집 가능한 필드를 여러 줄로 만들고 싶었 기 때문입니다. –

+0

필요한 경우 UITextView에서 텍스트를 가져 오지 않는 이유는 무엇입니까? myTextView.text입니다. 사용자가 텍스트보기와 상호 작용할 때 이벤트가 필요하면 대리인을 살펴보십시오. http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html –

답변

9

의견의 정보를 바탕으로 사용자가 UITextView을 입력 할 때 로컬 변수를 업데이트해야합니다. ,

보기 컨트롤러에서

는 IB를 사용하는 경우 UITextViewIBOutlet를 만들 :

그래서 (나는 당신이 UIViewController 하위 있다고 가정하고보기 하위 뷰 같은 질문에 UITextView을 가지고 있어요)이 같은 시도 그렇지 않으면 그냥 정규 참조. 그런 다음 텍스트를 저장하려는 변수 NSString에 대한 또 다른 속성.

참고 :이보기 컨트롤러가 아래와 같이 UITextViewDelegate 프로토콜을 준수하는지 확인하십시오. 사용자가 텍스트 뷰의 텍스트와 상호 작용할 때 다음에, 적절한 대리자 메서드를 보내드립니다 (또는 IB에서이 작업을 수행)

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.textView.delegate = self; 
} 

을 :

@interface BBViewController() <UITextViewDelegate> //Note the protocol here 

@property (weak, nonatomic) IBOutlet UITextView *textView; 
@property (strong, nonatomic) NSString *userInput; 

@end 

그런 다음, 텍스트 뷰의 대표를 연결 변수를 적절하게 업데이트 할 수 있습니다. 빠른 버전

#pragma mark - UITextViewDelegate 

- (void)textViewDidChange:(UITextView *)textView { 

    self.userInput = textView.text; 
    NSLog(@"userInput %@", self.userInput); //Just an example to show the variable updating 
} 
+0

오 남자 !!!! 내가 제대로 작동하지 않는다고 생각한 이유는'self.textView.delegate = self'를 넣지 않았기 때문입니다! –

+0

당신이 그것을 알아 낸 것을 기쁘게 생각한다면, 그것은 항상 쉬운 것들입니다. :) –

+0

항상 그렇습니다, 그렇지 않습니까? –

0

이 같이 당신의 텍스트 뷰에 클래스

  • 추가 위임에 UITextViewDelegate를 추가 3+

    1. :
    2. 이 방법을 추가 self.mytextview.delegate = 자기 :

      func textViewDidChange (_ textView : UITextView) {

      print("entered text:\(textView.text)")  
      

      }

  • 관련 문제