0

我是 iPhone 应用程序的新手。下面是我所拥有的...

在此处输入图像描述

当我输入项目名称时,我会看到带有完成选项的正确屏幕。当我单击完成时,键盘被隐藏。

在此处输入图像描述

时间也一样。

现在,当我单击描述并输入内容时,我得到如下屏幕。

在此处输入图像描述

现在我的问题是,我看不到UITextView,因此我看不到我正在输入的内容。

我怎样才能显示,UITextView以便我可以看到我正在输入的内容。


更新 1

在此处输入图像描述

4

4 回答 4

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文件中

我希望这对你有帮助......

于 2013-01-08T13:23:10.637 回答
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
{

}
于 2013-01-08T13:22:11.287 回答
1

将所有内容放在 a 中,并在它处于活动状态时UIScrollView使用scrollRectToVisible:animated:滚动到正确的位置。TextField

此外,您必须根据是否显示键盘来调整滚动视图的大小,因此您需要设置TextField delegates

于 2013-01-08T13:22:51.190 回答
1

用于UIScrollView所有控件后面的设计并将其设置在contentsize第二beginEditing(时间)文本字段TextViewTextFieldShouldReturn第二(时间)文本字段上。

于 2013-01-08T13:23:33.567 回答