【问题标题】:uitableview in ios 7 scrolls above status barios 7中的uitableview在状态栏上方滚动
【发布时间】:2013-10-25 07:11:07
【问题描述】:

我有一个具有自定义 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 设置内容插入并滚动到该位置的行。但这不符合我的要求。请建议一种在状态栏上方隐藏表格视图的方法。

【问题讨论】:

标签: ios uitableview


【解决方案1】:

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

See this post for more detail

也可以看看iOS 7 UI Transition Guide

【讨论】:

    【解决方案2】:

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

    self.edgesForExtendedLayout = UIRectEdgeNone;
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        ios 7 比 ios 6 有 +20 Pixles。

        检查

        Adds Bar showing up form Bottom in ios 7

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多