2011-03-07 4 views
0

IBOutlet을 통해 연결된 UITextView 및 단추가있는보기가 있습니다. 버튼을 누르면 ModalViewController가 나타납니다. UITextView의 텍스트를 ModalViewController에 문자열로 전달해야합니다. 인터넷 검색을 조금 해봤지만 ModalViewController에서 부모보기로 전달하는 문자열에 대한 정보 만 찾을 수있었습니다.부모보기에서 ModalViewController로 UITextView 내용 전달

PS : 어느 쪽이든 당신은 모달 뷰 컨트롤러 내부 변수를 설정하는 속성을 만들 필요가 페이지

답변

1

ModalViewController 개체가 만들어지고 IBAction 메서드로 표시됩니까? 그렇다면 해당 메서드에서 UITextView에 해당 값 (textView.text)을 쿼리하여 ModalViewController에 전달해야합니다.

+0

Yes (예)를 할 것이다에 : [자기 presentModalViewController : MYCONTROLLER 애니메이션 : YES]; ,하지만 어떻게 가치를 전달합니까? –

+0

텍스트 값을 저장하려면 ModalViewController 클래스에 정의 된 속성이나 메서드가 있어야합니다. 예를 들어'presentModalViewController'를 호출하기 전에'mycontroller.textValue = textView.text'를 호출하십시오. – pwc

+0

작동했습니다! 무리 감사! –

0

하거나하는 방법을 정의하고 그 작업을 수행 할 수 있습니다 내 newbieness를 용서.

@interface ModalViewController : UIViewController { 
NSString *displaystr; 
} 

@property (nonatomic, retain) NSString *displaystr; 

... 
@end 

@implementation ModalViewController 

@synthesize displaystr; 

... 

@end 

그런 다음 displaystr 속성을 사용하여 텍스트를 UITextField에 저장할 수 있습니다. 텍스트 속성을 통해 텍스트를 가져올 수 있습니다.

0

appDelgate 클래스에서 NSString 변수를 만들고 속성으로 만듭니다.

NSString *value; 

@property(nonatomic,retain) NSString *value; 

당신을 위해하는 .m에 그 값을 설정하고 그 값을 얻을 수있는 응용 프로그램 위임 클래스 및 액세스를

@synthesize value; 

만들기 객체를 합성.

모델 - 뷰 - 컨트롤러

에서

쓰기는

yourAppDelegateClass *objDelegate=(yourAppDelegate *)[[UIApplication sharedApplication] delegate]; 

objDelegate.value=textView.text; 

하고 값을 액세스 할 수있는 응용 프로그램 위임의 객체에 의해 기각하는 데 사용하는 버튼이 코드.

1

nib : bundle을 사용하여 init을 서브 클래스 화하여 mycontroller view 컨트롤러에 대한 문자열을 포함 할 수 있습니다. 그래서 거기에 그게 당신이

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andstring:(NSString *)string; 

이되고의 ViewController의하는 .m에서 당신은 뷰 컨트롤러의 헤더에있는 NSString * 텍스트 때에 프로퍼티를 정의하는 당신이 현재 가정

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andstring:(NSString *)string 
{ 
    //initialize self here from bundle; 
    //do other stuff 
    self.text=string} 

있을 것이다 .H입니다 모달;

그럼 당신은 내 컨트롤러를 정의하는 곳이 코드

MYVCController *mycontroller=[[MYVCController alloc] initWithNibName:nibname bundle:bundlename andstring:textView.text]; 
+0

좋은 답변, 고마워! 그래도 조금 늦었지만 ...;) –

+0

답장을 Thnks. 어쩌면 그것은 미래의 참고를 위해 여기에있는 다른 누군가를 도울 것입니다 :) –