2013-02-25 29 views
0

我得到了一个名为Layout的类,并且在这个类中有一些函数,如setTextView等。在我的FirstViewController中,然后我需要在viewcontroller上设置该布局。设置和删除类的布局

我Layout.m例如看起来是这样的:

-(UITextView*) setTextView{ 

UITextView *textView1 =[[UITextView alloc]init]; 
textView1.frame=CGRectMake(0,50,282,210); 
textView1.backgroundColor = [UIColor redColor]; 
[textView1 setReturnKeyType:UIReturnKeyDone]; 

return textView1; 
} 

在我FirstViewController.m我有一样的东西:

Layout *test; 
UITextView *textView1 = [test setTextView]; 
[self.view addSubview:textView1]; 
[textView1 removeFromSuperview]; 
test = nil; 

但是这是行不通的,我在做什么错误?

回答

1

那么......代码没有多大意义。您正在执行[test setTextView];,即向名为test的对象发送消息,并在下一行中将该对象定义为Layout

那么你将要从它的父是测试对象,但你永远不把它添加到任何视图(无论如何也不能显示的代码)

我要在这里乘坐胡乱猜测,但我认为这是你正在尝试做的:

Layout* test = [[Layout alloc] init]; //You should be calling here whatever initialization method this class has 
UITextView *textView1 = [text setTextView]; 

[self.view addSubview:textView1]; 

test = nil; 

但我不确定你在这里试图完成什么。也许如果你试图解释我可以更好地帮助你。

+0

好的答案,只记得在最后发布“测试”或用autorelease定义它:) – 2013-02-25 09:56:50

+0

我的代码有点搞砸了,通常是这样的: Layout * test; UITextView * textView1 = [test setTextView]; [self.view addSubview:textView1]; [textView1 removeFromSuperview]; test = nil; 我已经编辑它在我原来的职位。 – user1345821 2013-02-25 10:00:42

+0

现在它似乎工作,但我可以使用[[Layout alloc] init];我真的需要创建一个自己的init方法吗? – user1345821 2013-02-25 10:04:22