我是iPhone应用程序的新手。以下就是我的......
当我输入项目名称时,我会获得带有完成选项的正确屏幕。当我点击Done时,键盘会被隐藏。
时间也一样。
现在当我点击描述并输入内容时,我会看到如下屏幕。
现在我的问题是,我看不到UITextView
,因此我无法看到我正在输入的内容。
如何显示UITextView
以便我可以看到我正在输入的内容。
答案 0 :(得分:8)
首先将这些整个控件放在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
文件中添加此代理
我希望这对你有帮助......
答案 1 :(得分:2)
在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
{
}
答案 2 :(得分:1)
将所有内容放在UIScrollView
中,并使用scrollRectToVisible:animated:
滚动到有效的TextField
。
此外,您必须根据键盘是否显示来调整滚动视图的大小,因此您需要设置TextField delegates
答案 3 :(得分:1)
在所有控件背后的设计中使用UIScrollView
&在contentsize
beginEditing
或TextView
第二(时间)文本字段中设置TextFieldShouldReturn
。