【发布时间】:2012-08-22 10:32:04
【问题描述】:
我的ViewController包含一个子视图:
子UIView位于NameSubViewController(与XIB类)。
子视图包含一个UITextField。
我添加了这个动作:
- (IBAction)textFieldReturn:(id)sender;
在 NameSubViewController 类中,并将其连接到 XIB 中文件所有者的文本字段(退出时结束)。
但是当我点击返回时,日志给了我一条错误消息,并且模拟器中没有任何反应。
这是相关代码:
ViewController.h:
@property (nonatomic, strong) UIView *nameSubView;
ViewController.m (viewDidLoad):
UIViewController *nameController = [[NameSubViewController alloc] initWithNibName:@"NameSubViewController" bundle:nil];
nameSubView = [nameController view];
[self.view addSubview:nameSubView];
NameSubViewController.h:
#import <UIKit/UIKit.h>
@interface NameSubViewController : UIViewController
@property (nonatomic, strong) IBOutlet UITextField *textField;
- (IBAction)textFieldReturn:(id)sender;
//Not working.. Connected from files owner to textField with option didEndOnExit
NameSubViewController.m:
-(IBAction)textFieldReturn:(id)sender
{
[sender resignFirstResponder];
}
当我点击返回时,我会在日志中看到这条消息:
AppName[6656:f803] -[CALayer textFieldReturn:]: unrecognized selector sent to instance 0x6e99d40
2012-08-28 02:51:26.954 AppName[6656:f803] *** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate: <NSInvalidArgumentException> -[CALayer textFieldReturn:]: unrecognized selector sent to instance 0x6e99d40
并且键盘不会关闭。什么可能导致我的问题?
视图控制器:
http://www.flickr.com/photos/80427098@N07/7877111708/in/photostream
NameSubViewController,ViewController的子视图中显示的视图:
http://www.flickr.com/photos/80427098@N07/7877111596/in/photostream
【问题讨论】:
-
如果我在
MainViewController类中添加IBAction,当文本字段在另一个类中时,我无法将其连接到文本字段.. -
IBAction 文本字段中有什么代码?
-
如果您可以将 IBOutlet 连接到另一个类中的 IBAction,我会感到非常惊讶。而且我怀疑您可以将 xib 用于 sub 视图。如果你想要一个只覆盖部分屏幕的子视图,我要么把它放在常规的 xib 中,要么以编程方式添加它(你可以与 xib 结合使用)。如果您的子视图覆盖整个屏幕,您最好将其分配给单独的视图控制器并让您的 MainViewController 呈现该控制器。我可能是错的,但如果没有人反对,那就是我会做的。
-
@Wienke 我想你误解了..我有一个用于子视图的常规 xib,带有一个 textField。
标签: iphone objective-c ios xcode