0

我有一个具有自定义 UITableViewCell 的 UITableView。它有 UITextField。为了避免 UITextField 隐藏在键盘下方,我编写了一个自定义方法来在文本字段位于键盘下方时向上移动视图。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.25f];
[UIView setAnimationBeginsFromCurrentState:YES];
CGRect frame = self.view.frame;
if (up) {
    if (frame.origin.y >= 0) {
        frame.origin.y = frame.origin.y - 120;
    }
} else {
    if (frame.origin.y >= -150) {
        frame.origin.y = frame.origin.y + 120;
    }

}
[self.view setFrame:frame];
[UIView commitAnimations];

这工作正常,表格视图根据我在 ios 6 中的要求上下移动。

但是在 ios 7 中,当视图启动时,表格视图显示在状态栏上方。作为替代方案,我尝试为 tableview 设置内容插入并滚动到该位置的行。但这不符合我的要求。请建议一种在状态栏上方隐藏表格视图的方法。

4

4 回答 4

1

在我的 UITableView clipsToBounds = NO Setting 上设置回YES做伎俩时,我在 iOS 8 上遇到了类似的问题。

于 2014-12-25T09:08:08.370 回答
1

所以我几乎假设您使用的是以前的 iOS 6 样式状态栏。在 iOS 6 中,当您向上移动视图时,它会处理状态栏,并且视图不会超过状态栏。但是在 iOS 7 中,虽然您以 iOS 6 样式显示状态栏,但当您向上移动视图时,您不能让视图进入状态栏下方。

有关更多详细信息,请参阅此帖子

并查看iOS 7 UI 过渡指南

于 2013-10-25T07:21:29.583 回答
1

尝试在 viewDidLoad 中的视图控制器中:

self.edgesForExtendedLayout = UIRectEdgeNone;
于 2013-10-25T07:21:35.637 回答
0

ios 7 比 ios 6 有 +20 Pixles。

查看

在 ios 7 中添加显示窗体底部的栏

于 2013-10-25T07:18:13.960 回答