UITableView从下一页导航回来后向下移动

时间:2014-12-24 04:33:45

标签: ios xcode uitableview

我有一个框架大小为(0,65,320,503)的桌面视图。当我导航到另一个页面然后我回来它向下移动。 Before navigate to another page

After navigate back from nextpage

6 个答案:

答案 0 :(得分:3)

在 - (void)viewDidLoad方法中添加以下行。

self.automaticallyAdjustsScrollViewInsets = NO;

希望它能解决您的问题。

答案 1 :(得分:2)

我希望你找到一个适合你的解决方案。当使用AutoLayout和UITableViews以及精彩的SWRevealViewController类时,这种情况发生在我身上。长话短说我浪费了很多时间,最终发现这个答案对我有用:

https://stackoverflow.com/a/23021157/892990

我将UITableView移动到视图层次结构中的较低位置(通过在它和顶部布局指南之间放置一个虚拟的1pt厚的间隔UIView),现在它的行为符合预期。

答案 2 :(得分:0)

将此代码放在视图中,

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
{
    self.edgesForExtendedLayout = UIRectEdgeNone;
}
[self.navigationController.navigationBar setTranslucent:NO];

并尝试删除自动布局。

希望这会有所帮助......

答案 3 :(得分:0)

我认为你需要再次在viewWillAppear方法中设置tableview的框架,因为在你的代码中你可以通过某种方式更改框架,所以只需在viewwillappear中设置它。

答案 4 :(得分:0)

viewWillAppear

中试试这个
[your_tableview removeFromSuperview];
[your_tableview setTranslatesAutoresizingMaskIntoConstraints:YES];
your_tableview.frame = CGRectMake(0, 65, 320, 503);
[self.view addSubview:your_tableview];

如果您不想使用标题部分

,也可以尝试此操作
your_tableview.tableHeaderView = nil;

答案 5 :(得分:0)

如果您使用的是故事板。

1>将导航栏的半透明属性设置为NO。再次调整子视图帧,因为在设置其NO后,子视图将使用一些新帧进行调整。

2 - ;在viewDidLoad中设置以下

self.automaticallyAdjustsScrollViewInsets = NO;

3>它完成了。