我是 iPhone 应用程序的新手。下面是我所拥有的...
当我输入项目名称时,我会看到带有完成选项的正确屏幕。当我单击完成时,键盘被隐藏。
时间也一样。
现在,当我单击描述并输入内容时,我得到如下屏幕。
现在我的问题是,我看不到UITextView
,因此我看不到我正在输入的内容。
我怎样才能显示,UITextView
以便我可以看到我正在输入的内容。
我是 iPhone 应用程序的新手。下面是我所拥有的...
当我输入项目名称时,我会看到带有完成选项的正确屏幕。当我单击完成时,键盘被隐藏。
时间也一样。
现在,当我单击描述并输入内容时,我得到如下屏幕。
现在我的问题是,我看不到UITextView
,因此我看不到我正在输入的内容。
我怎样才能显示,UITextView
以便我可以看到我正在输入的内容。
首先将这些整个控件放入UIScrollView
并按原样设置,
在UITextView
委托方法中textViewDidBeginEditing
设置视图框架后,如下所示......
-(void)textViewDidBeginEditing:(UITextView *)textView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
yourScrollView.frame = CGRectMake(yourScrollView.frame.origin.x, -160, yourScrollView.frame.size.width, yourScrollView.frame.size.height);
[UIView commitAnimations];
}
并且在返回后也像以前一样设置,如下所示......
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
[textView resignFirstResponder];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
yourScrollView.frame = CGRectMake(yourScrollView.frame.origin.x, 0, yourScrollView.frame.size.width, yourScrollView.frame.size.height);
[UIView commitAnimations];
return NO;
}
return YES;
}
您还可以设置框架UIView
而不是UIScrollView
..
还首先将委托给UITextView
并将此委托添加到.h
文件中
我希望这对你有帮助......
在 viewDidLoad 中为键盘隐藏/显示通知设置以下代码
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
并设置此方法并更改此代码中的视图框架
- (void)keyboardWasShown:(NSNotification *)aNotification
{
}
- (void)keyboardWillBeHidden:(NSNotification *)aNotification
{
}
将所有内容放在 a 中,并在它处于活动状态时UIScrollView
使用scrollRectToVisible:animated:
滚动到正确的位置。TextField
此外,您必须根据是否显示键盘来调整滚动视图的大小,因此您需要设置TextField delegates
用于UIScrollView
所有控件后面的设计并将其设置在contentsize
第二beginEditing
(时间)文本字段TextView
或TextFieldShouldReturn
第二(时间)文本字段上。