2011-02-10 48 views
0

我有两个问题。我创建一个类“myfirstclass.m”,并在我的“projectController.m”中创建一个UITextField txt。在“myfirstclass.m”中,我有一个以txt为参数的方法。如果在课堂上我称之为方法:UITextField becomeFirstResponder和重叠子视图

[txt becomeFirstResponder]; 

它不起作用。显然“myfirstclass.m”扩展为NSObject和“projectController.m”扩展UIViewController。我该如何解决?因为在同一个类“myfirstclass.m”中,我有另一种方法创建另一个UITextField,它被添加到主视图,并且当它显示当前的textField成为第一响应者时。我的第二个问题是:我有一个UIButton和一个UITextField,我将它们添加到广告视图中,我想要:UITextField在前台显示,在后台显示UIButton。我现在通过UITextFiled属性可以设置背景图像,但我希望UIButon比UITextField更大,但我希望UIButton是背景,而UITextField是前景。

在此先感谢!

回答

0

第一个问题:我假设你正在使用接口构建器。确保你的UITextField连接到你的UIViewController子类的相应插座。忘记在界面生成器中连接插座是未出现在屏幕上的对象或未在代码中正确响应的最常见问题。

+0

不,我用代码创建所有。我可以做我想做的事情吗?:D – Andrea

+0

而且我确实成为“myFirstClass”中的第一个应答而不是“projectController” – Andrea

+0

好吧,然后用一个非常小的可重复测试用例重复问题并发布代码。 – Bogatyr

0

这是一个示例伪代码:

projectController.m

#import "myFirstClass.h" 

UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(0,38,194,37)]; 
myFirstClass *ojb = [[myFirstClass alloc] init]; 
[obj sendTxt:txt]; 

myFirstClass.m

- (void) sendTxt:(UITextField *text) { 
UITextField *txt = text; 
[txt becomeFirstResponder]; 
} 

“myfirstclass.m” 延伸NSObject的和 “projectController.m” 延伸UIViewController中。