iphone - 让 View 向上滑动以为键盘腾出空间?

标签 iphone objective-c cocoa-touch uikeyboard

我刚开始学习 iPhone 应用程序编程,我似乎无法弄清楚如何在键盘出现时让 View 滑开(这样您仍然可以看到您正在输入的文本字段)。它是怎么做到的?

最佳答案

如果视觉上没问题,最简单的就是移动整个self.view.frame,完成后再向下移动。

static const CGFloat KEYBOARD_ANIMATION_DURATION = 0.3f;

- (void) animateForToNewYPosition:(int)newYPosition {
    // move for kdb
    if (self.view.frame.origin.y == newYPosition) {
        return;
    }

    // start animation
    CGContextRef context = UIGraphicsGetCurrentContext();
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:KEYBOARD_ANIMATION_DURATION];  

    // move it
    self.view.frame.origin.y = newYPosition;

    [UIView commitAnimations];  
}

关于iphone - 让 View 向上滑动以为键盘腾出空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892205/

相关文章:

iphone - iPad 2 上带有 HDMI 适配器的黑条

iphone - 清除 UITextField 的最佳方法

ios - NSData 到自定义 NSObject

ios - 如何更改导航栏后退按钮的字体?

objective-c - 如何正确实现iAds? iOS6 弃用问题

iphone - 带有 UIButtonType 详细信息披露按钮的路由标记标签 - 按钮不可点击

iphone - 如何在 GUI 级别管理启动问题?

iphone - 隐藏电影播放器​​中的音量栏

ios - 使用元数据(EXIF 数据)将 NSData 转换为 UIImage

iphone - CGContextSetShadow 不产生任何结果