当前位置: 首页 > 知识库问答 >
问题:

ios 7中的uitableview在状态栏上方滚动

江飞章
2023-03-14

我有一个自定义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显示在状态栏上方。作为替代,我尝试为tableview设置内容插入,并滚动到位置处的行。但这不符合我的要求。请建议在状态栏上方隐藏tableview的方法。

共有3个答案

全弘深
2023-03-14

当我在iOS 8上设置UITableViewclipsToBounds=NO设置回YES时,我也遇到了类似的问题。

金宣
2023-03-14

尝试在你的视窗控制器中的视图加载:

self.edgesForExtendedLayout = UIRectEdgeNone;
邴越彬
2023-03-14

因此,我几乎假设您使用的是以前的iOS 6样式的状态栏。在iOS 6中,当您向上移动视图时,它负责状态栏,而视图不会越过状态栏。但在iOS 7中,尽管您以iOS 6样式显示状态栏,但当您向上移动视图时,您不能让视图位于状态栏下。

有关更多详细信息,请参阅本文

并且还可以查看iOS7 UI转换指南。

 类似资料:
  • 我正在构建一个iOS网络应用程序。自从升级到iOS 7后,我注意到状态栏有很多问题。我想让状态栏显示为带黑色文本/图标的白色,但我似乎无法理解。 我尝试过的meta标签有: 只显示一个空的黑条,并向下移动内容: 显示带有白色文本/图标的黑色条: 显示带有白色文本/图标的白色条: 关于我做错了什么,或者如何让状态栏显示为带黑色文本的白色背景,有什么想法吗?

  • (如果需要的话,请查看其他编辑,而不是有一个过长的问题,需要编辑才能进行最终编辑以进行澄清)。 我有一个应用程序,其设置如下: 初始化视图控制器(ECSlidingViewController的子类) 主导航控制器(UINavigationController的子类) 主主主视图控制器(UIViewController的子类 在初始视图控制器的中,我加载主导航控制器,主视图控制器作为其根。 这就是

  • 我最近升级到xcode 5,当我在iOS模拟器中运行我的应用程序时,启动屏幕与状态栏重叠,当你在应用程序中时,状态栏与我应用程序上的元素重叠,就像我在应用程序左上角的后退按钮一样。我使用phonegap 2.9构建我的应用程序。你知道我怎样才能正确地渲染它吗。

  • 我正在将我的应用程序迁移到iOS 7。为了处理状态栏问题,我添加了以下代码 这在正常情况下工作正常。如果我正在更改方向(应用程序仅支持横向方向)或显示任何视图控制器并取消模型视图控制器,则我的视图控制器对齐方式将更改。状态栏再次与我的视图控制器重叠。这段代码根本不起作用。请指导我解决此状态栏问题。 案例2:这就是我展示视图控制器的方式 裁判: 提前谢谢。

  • 我刚刚将iPhone5iOS7升级到四个测试版。现在,当我在iPhone上从Xcode 5运行我的应用程序时,状态栏不会隐藏,即使它应该隐藏。 不工作: 不工作: 无法登录到Apple开发者论坛

  • 在IOS6中,我有以下代码滚动到UITableView的顶部 在IOS7中,这不再起作用了。表格视图没有完全滚动到顶部(但几乎)。