我正在修改Xcode中现有的iPad应用程序。该应用程序非常简单,包含4个收集信息并将其发送到Web服务的屏幕。
我正在尝试添加一个包含四个文本字段的附加屏幕。没有文本字段将接受任何输入。我已经浏览了视图层次结构并确认所有视图都启用了用户交互,并且没有配置多点触控。
我已将UITextFieldDelegate添加到视图控制器,并已将UITextField委托连接到视图控制器。
我在textFieldShouldBeginEditing中添加了一个NSLog,每当我触摸该字段时它都会在控制台中显示。但它没有显示光标,也没有显示键盘。
只是因为我以为我可能会失去理智,我用一个只有一个文本字段的空白视图控制器替换了整个屏幕,它仍然不接受任何输入。
此外,为了确保我没有失去对现实的控制,我创建了一个新项目,其中包含一个带有一个文本字段的视图,并且它按预期工作。
我真的不知道从哪里开始。我的应用程序中其他屏幕上的所有文本字段都正常工作。这只是为了我的生活,我无法在新的屏幕上显示文本字段。
HELP !!
标记
//
// 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
答案 0 :(得分:1)
我最终从头开始创建一个新项目,首先布置我的所有屏幕和UITextFields,将所有内容连接到代码并首先进行测试。然后我回去并添加了其余的图形元素。
我不知道是什么导致了原始问题。我会把它写成Xcode错误。
答案 1 :(得分:0)
您尝试手动将 textfield.delegate = self
添加到该控制器中的viewDidLoad
或viewWillAppear
方法。
希望这会有所帮助。