ios7将刷新控件作为子视图添加到表视图后,它会增加额外的空间

时间:2013-11-22 11:07:36

标签: objective-c uitableview ios7 uirefreshcontrol

我已将UiRefreshController添加到UiTableView作为子视图,它运行良好,但它也为表视图的头部添加了额外的空间。此问题仅出现在iOS7中。

代码:

refreshControl = [[UIRefreshControl alloc] init];
refreshControl.tag = 99;
[refreshControl addTarget:self action:@selector(handleRefresh:)     forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refreshControl];
self.tableView.alwaysBounceVertical = YES;
[refreshControl beginRefreshing];
[refreshControl endRefreshing];

without uirefresh controller after adding uirefresh controller

2 个答案:

答案 0 :(得分:7)

尝试将其添加到视图控制器:

viewController.edgesForExtendedLayout = UIRectEdgeNone;

iOS7可能会添加一些空间来尝试填充导航栏。

答案 1 :(得分:1)

几天前我发现了这个问题。

添加 viewController.edgesForExtendedLayout = UIRectEdgeNone;

拉动刷新后,

将消除额外的空间,但是,如果仔细观察,您会发现在添加上一个代码行后,导航栏颜色也会被修改。

但是,使用storyboard添加pull to refresh功能将为您提供干净的输出。

在故事板上选择TableViewController - >在属性检查器下 - >设置"刷新"启用。