Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 如何基于键盘自动移动UIScrollView以使UITextfield可见?_Iphone_Ipad_Ios5_Uiscrollview - Fatal编程技术网

Iphone 如何基于键盘自动移动UIScrollView以使UITextfield可见?

Iphone 如何基于键盘自动移动UIScrollView以使UITextfield可见?,iphone,ipad,ios5,uiscrollview,Iphone,Ipad,Ios5,Uiscrollview,-我已经尝试了这里提出的所有方法,但我的scrollview没有基于键盘向上移动。我想实现iPad笔记中的移动,当文本靠近键盘时,文档向上移动 我是这样做的。不要忘记在UITextField上设置委托 - (void) scrollViewAdaptToStartEditingTextField:(UITextField*)textField { CGPoint point = CGPointMake(0, textField.frame.origin.y - 1.5 * textFie

-我已经尝试了这里提出的所有方法,但我的scrollview没有基于键盘向上移动。我想实现iPad笔记中的移动,当文本靠近键盘时,文档向上移动

我是这样做的。不要忘记在UITextField上设置委托

- (void) scrollViewAdaptToStartEditingTextField:(UITextField*)textField
{
    CGPoint point = CGPointMake(0, textField.frame.origin.y - 1.5 * textField.frame.size.height);
    [scrollView setContentOffset:point animated:YES];
}

- (void) scrollVievEditingFinished:(UITextField*)textField
{
    CGPoint point = CGPointMake(0, 0);
    [scrollView setContentOffset:point animated:YES];
}

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField
{
    [self scrollViewAdaptToStartEditingTextField:textField];
    return YES;
}

- (BOOL) textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    [self scrollVievEditingFinished:textField];
    return YES;
}

这里是swift 3.0版本

func scrollViewAdapt(toStartEditing textField: UITextField) {
        let point = CGPoint(x: CGFloat(0), y: CGFloat(textField.frame.origin.y - 1.7 * textField.frame.size.height))
        scrollView.setContentOffset(point, animated: true)
    }

    func scrollVievEditingFinished(_ textField: UITextField) {
        let point = CGPoint(x: CGFloat(0), y: CGFloat(0))
        scrollView.setContentOffset(point, animated: true)
    }
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {

        self.scrollViewAdapt(toStartEditing: textField)
        return true
    }

    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        self.scrollVievEditingFinished(textField)
        return true
    }

提供更多使用信息。