展开子视图后,UITableView不够滚动

时间:2014-01-07 19:20:15

标签: ios objective-c uitableview uiview

我的UITableViewController底部有UIView。 (使用故事板)。我的UIView设置为隐藏,然后点击按钮更改状态。首先,我试图使用IBActionself.concluidoView.frame = CGRectMake(0, 0, 320, 50);(buttonClick)上调整我的UIView(基本上增加高度)但是UIView正在消失。

现在,它正在使用UIView中的以下代码正确展开IBAction

[UIView animateWithDuration:1.0
                     animations:^{
                         CGRect frame = self.concluidoView.frame;
                         frame.size.height += 100.0;
                         self.concluidoView.frame = frame;

                     }
                     completion:^(BOOL finished){
                         // complete

                     }];

问题是我的UITableViewController没有足够滚动到新的大小,因为UIView是我tableView中的最后一项。

我已经尝试了一些方法来解决这个问题,包括手动尝试调整tableview的大小以将其高度增加到UIView增加的相同值。我使用了以下代码:

CGRect tableFrame = self.tableview.frame;
        tableFrame.size.height += 100;
        self.tableView.frame = tableFrame;
        [self.tableview layoutIfNeeded];

此代码后,tableview的滚动容量实际上变小了。我想调整tableview的大小并允许手动滚动,因为我知道subview会增加多少,或者自动增加。{{1}}。

1 个答案:

答案 0 :(得分:1)

如果您更改了UITableView的框架,那么您所做的就是让它最有可能延伸到屏幕外。您要做的是获取表格视图以识别UIView更大。我假设UIView是您tableFooterView的{​​{1}}。尝试执行以下操作:

UITableView

这会强制UIView *footerView = self.tableView.tableFooterView; self.tableView.tableFooterView = nil; self.tableView.tableFooterView = footerView; 重新检查页脚视图的大小。在更改之前的页脚视图大小之前,我必须这样做。