Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UIScrollView和UIKeyboard存在问题_Objective C_Uiscrollview_Uitextview - Fatal编程技术网

Objective c UIScrollView和UIKeyboard存在问题

Objective c UIScrollView和UIKeyboard存在问题,objective-c,uiscrollview,uitextview,Objective C,Uiscrollview,Uitextview,我这里有些问题。我有一个UITextView,当我点击里面时,它会被键盘关闭,所以,我在这里尝试做的是一个UIScrollView,它允许我看到我在TextView中写的东西 这是我目前的代码: -(void)keyboardWillShow { if (self.view.frame.origin.y >= 0) { [self setViewMovedUp:YES]; } else if (self.view.frame.origin.y

我这里有些问题。我有一个UITextView,当我点击里面时,它会被键盘关闭,所以,我在这里尝试做的是一个UIScrollView,它允许我看到我在TextView中写的东西

这是我目前的代码:

-(void)keyboardWillShow {
    if (self.view.frame.origin.y >= 0)
    {
        [self setViewMovedUp:YES];
    }
    else if (self.view.frame.origin.y < 0)
    {
        [self setViewMovedUp:NO];
    }
}

-(void)keyboardWillHide {
    if (self.view.frame.origin.y >= 0)
    {
        [self setViewMovedUp:YES];
    }
    else if (self.view.frame.origin.y < 0)
    {
        [self setViewMovedUp:NO];
    }
}

-(void)setViewMovedUp:(BOOL)movedUp
{
    [UIView animateWithDuration:.3 animations:^{
        CGRect rect = self.view.frame;
        if (movedUp)
        {
            scrollView.contentSize = CGSizeZero;
            scrollView.frame = CGRectMake(0, 80, 320, 308);
//            rect.origin.y -= kOFFSET_FOR_KEYBOARD;
//            rect.size.height += kOFFSET_FOR_KEYBOARD;
        }
        else
        {
            scrollView.contentSize = CGSizeZero;
            scrollView.frame = CGRectMake(0, 190, 320, 308);
//            rect.origin.y += kOFFSET_FOR_KEYBOARD;
//            rect.size.height -= kOFFSET_FOR_KEYBOARD;
        }
        self.view.frame = rect;
    }];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:UIKeyboardWillShowNotification
                                                  object:nil];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:UIKeyboardWillHideNotification
                                                  object:nil];
}
-(无效)键盘将显示{
if(self.view.frame.origin.y>=0)
{
[self-setViewMovedUp:是];
}
else if(self.view.frame.origin.y<0)
{
[self-setViewMovedUp:否];
}
}
-(无效)键盘将隐藏{
if(self.view.frame.origin.y>=0)
{
[self-setViewMovedUp:是];
}
else if(self.view.frame.origin.y<0)
{
[self-setViewMovedUp:否];
}
}
-(无效)setViewMovedUp:(BOOL)movedUp
{
[UIView animateWithDuration:.3个动画:^{
CGRect rect=self.view.frame;
if(movedUp)
{
scrollView.contentSize=CGSizeZero;
scrollView.frame=CGRectMake(0,80320308);
//rect.origin.y-=kOFFSET\u用于键盘;
//rect.size.height+=键盘的kOFFSET\u;
}
其他的
{
scrollView.contentSize=CGSizeZero;
scrollView.frame=CGRectMake(0190320308);
//rect.origin.y+=kOFFSET_用于键盘;
//rect.size.height-=kOFFSET\u用于键盘;
}
self.view.frame=rect;
}];
}
-(无效)视图将消失:(BOOL)已设置动画
{
[[NSNotificationCenter defaultCenter]移除观察者:self
名称:UIKeyboardWillShowNotification
对象:无];
[[NSNotificationCenter defaultCenter]移除观察者:self
名称:UIKeyboardWillHideNotification
对象:无];
}
问题是代码工作不正常,当我点击文本查看视图而不是上升时,它会下降


有什么想法吗?

UITextView
已经是一个滚动视图了。当您输入的文本多于可见文本时,它将自动滚动。此外,用户可以随时自己滚动文本。

我找到了所有问题的答案

- (void)textViewDidBeginEditing:(UITextView *)textView{

    [self scrollViewAsd:130];

}

- (void)textViewDidEndEditing:(UITextView *)textView{

    [self scrollViewAsd:0];

}

- (void)scrollViewAsd:(float) inset
{

    [UIView animateWithDuration:.3 animations:^{
        scrollView.contentInset = UIEdgeInsetsMake(0, 0, inset, 0);
        scrollView.contentOffset = CGPointMake(0, inset); 

    }];
}

不,您不理解这个问题,我的问题是,当调用UITextView时,键盘会关闭它。。。我不想滚动整个UIView,因为键盘不会关闭我的文本视图…你是说键盘覆盖了你的文本视图?因为键盘不能关闭文本视图,只有相反的方式:P。