在TableView的底部添加UIView

时间:2015-11-12 13:14:05

标签: ios objective-c iphone uiview uiscrollview

我有一个带有UIScrollView的tableView(“tableView”)(当用户滚动tableView改变它的位置时),我希望当用户“滚动”tableView时,会有一个白色的UIView(“ whiteViewUnderAroundersTableView“)从tableView的底部开始,滚动的一个例子: scroll example

我的代码:

//Creating "whiteViewFrame", a frame for "whiteViewUnderTableView"(a white view in the scrollView that goes behind the "tableView" and shows a white view when Over-Scrolling up) with the Y position of the end of the "tableView"
CGRect whiteViewFrame=CGRectMake(self.whiteViewUnderTableView.frame.origin.x, CGRectGetMaxY(self.tableView.frame), self.whiteViewUnderTableView.frame.size.width, self.whiteViewUnderTableView.frame.size.height);

//Changing "whiteViewUnderTableView"'s frame to "whiteViewFrame"
self.whiteViewUnderTableView.frame=whiteViewFrame;

//Changing "whiteViewUnderAroundersTableViewTopConstraint" (Y coordinate constraint of "whiteViewUnderAroundersTableView")'s constant to "AroundersTableView"'s Y coordinate
self.whiteViewUnderAroundersTableViewTopConstraint.constant=self.whiteViewUnderAroundersTableView.frame.origin.y;

日志中的错误:

Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. 
Try this: 
    (1) look at each constraint and try to figure out which you don't expect; 
    (2) find the code that added the unwanted constraint or constraints and fix it...

3 个答案:

答案 0 :(得分:0)

tableViewUIScrollView的子类,因此无需将tableView添加为UIScrollView的子视图。当您设置delegate的{​​{1}}时,tableView适用于delegate,也适用于UITableViewDelegate

此外,您可以将自定义视图添加为tableView的UIScrollViewDelegate属性。 tableFooterView将放在tableFooterView的底部。

答案 1 :(得分:0)

如果我理解你正确说出的话,一般来说你不应该在scrollView中嵌入tableView来实现这个目标。当你这样做时,iOS无法判断向上/向下滑动是否适用于tableview或scrollview,因为它们都是可滚动的!

Per:How to use UITableView inside UIScrollView and receive a cell click?

tableFooterView是一个更好的选择:

tableView.tableFooterView = UIView( ... )

答案 2 :(得分:0)

只需调用这2个委托方法

strsplit()

}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{

return 60;

}