我正在 Xcode 中修改现有的 iPad 应用程序。该应用程序非常简单,由 4 个屏幕组成,用于收集信息并将其发送到 Web 服务。
我正在尝试添加一个带有四个文本字段的附加屏幕。没有文本字段将接受任何输入。我已经浏览了视图层次结构并确认所有视图都启用了用户交互,并且没有为多点触控配置。
我已将 UITextFieldDelegate 添加到视图控制器,并将 UITextField 委托连接到视图控制器。
我在 textFieldShouldBeginEditing 中添加了一个 NSLog,每次触摸该字段时它都会显示在控制台中。但它不显示光标,也不显示键盘。
仅仅因为我认为我可能会失去理智,我用一个只有一个文本字段的空白视图控制器替换了整个屏幕,它仍然不接受任何输入。
此外,为了确保我不会失去对现实的把握,我创建了一个新项目,该项目由一个视图和一个文本字段组成,它确实按预期工作。
我真的不知道从这里去哪里。我的应用程序中其他屏幕上的所有文本字段都工作正常。这只是为了我的生活,我无法让新屏幕上的文本字段正常工作。
帮助!!
标记
//
// TestViewController.h
//
#import <UIKit/UIKit.h>
@interface TestViewController : UIViewController <UITextFieldDelegate>
@end
和
//
// TestViewController.m
//
#import "TestViewController.h"
@interface TestViewController ()
@end
@implementation TestViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
NSLog(@"textFieldShouldBeginEditing");
return YES;
}
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField{
NSLog(@"textFieldShouldEndEditing");
return YES;
}
-(BOOL)textFieldShouldReturn:(UITextField*)textField{
NSLog(@"textFieldShouldEndEditing");
return YES;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end