【发布时间】:2012-07-14 11:25:46
【问题描述】:
我的 iPhone 应用中有两个 UITextView。当用户选择一个UITextView 时,控制器会自动转到另一个UITextView。我在我的项目中尝试了以下方式。但是第二个UITextView 不会becomefirstresponder,直到用户在第二个UITextView 内点击。
-(void) viewDidLoad
{
TextView1 = [[UITextView alloc] initWithFrame:CGRectMake(10, 320, 300, 50)];
TextView1.delegate = self;
TextView1.backgroundColor = [UIColor clearColor];
TextView1.layer.borderWidth = 2;
TextView1.layer.borderColor = [UIColor blackColor].CGColor;
TextView1.layer.cornerRadius = 5;
[self.view addSubview: TextView1];
TextView2 = [[UITextView alloc] initWithFrame:CGRectMake(10, 5, 300, 30)];
TextView2.delegate = self;
TextView2.backgroundColor = [UIColor whiteColor];
TextView2.layer.borderWidth = 2;
TextView2.layer.borderColor = [UIColor lightTextColor].CGColor;
TextView2.layer.cornerRadius = 5;
[self.view addSubview: TextView2];
UIBarButtonItem *textBarButton = [[UIBarButtonItem alloc] initWithCustomView: TextView2];
accessoryToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
accessoryToolBar.items = [NSArray arrayWithObjects:textBarButton, nil];
}
-(BOOL) textViewShouldBeginEditing:(UITextView *)textView
{
NSLog(@"TextView Should Begin Editing");
if (textView == messageTextView)
{
[TextView2 setInputAccessoryView:accessoryToolBar];
[TextView1 resignFirstResponder];
[TextView2 becomeFirstResponder];
}
else
{
[TextView2 setInputAccessoryView:accessoryToolBar];
[TextView1 resignFirstResponder];
}
return YES;
}
我该如何解决这个问题?
【问题讨论】:
标签: iphone ios uitextview uitextviewdelegate