2011-03-07 20 views
0

我有一个UITextView和一个按钮,都通过IBOutlet连接的视图。按下按钮会出现一个ModalViewController。我需要将UITextView中的文本作为字符串传递给ModalViewController。我做了一些Google搜索,但只能找到从ModalViewController传递给父视图的信息。从父视图传递UITextView的内容到ModalViewController

PS:请原谅我的newbieness:对

回答

1

ModalViewController对象是否在IBAction方法中创建并呈现?如果是这样,在该方法中,您应该查询UITextView的值(textView.text)并将其传递给ModalViewController。

+0

是与此代码:[自我presentModalViewController:动画myController的:YES]; ,但你如何通过价值? – 2011-03-07 05:46:31

+0

您需要在ModalViewController类中定义一个属性或方法来存储文本值。所以,例如,在调用'presentModalViewController'之前,你可以调用'mycontroller.textValue = textView.text' – pwc 2011-03-07 05:50:31

+0

它工作!谢谢一堆! – 2011-03-07 06:12:51

0

要么你需要设置模式视图控制器内的变量创建一个属性,也可以定义一个方法,并做到这一点。

例如

@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; 

使对象可对您的应用程序委托类和访问,要设置值,并得到该值。

在modelViewController

写此代码为您使用驳回

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

objDelegate.value=textView.text; 

,并通过应用程序代理,你可以访问该值的对象按钮。

1

您可以使用nib:bundle为init子类,以包含mycontroller视图控制器的字符串。所以,在它的.h,你将有

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

,并在视图 - 控制的.M你将有

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

假设您在视图控制器的标题定义的NSString *文本属性格式,你现在模态;

然后在定义我的控制器,你会怎么做

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

很好的答案,谢谢!有点晚了,虽然...;) – 2012-10-24 05:41:01

+0

答复的问题。也许它会帮助其他人在这里以备将来参考:) – 2012-10-25 16:46:08

相关问题