Xcode:如何让我的UIView停止滚动并锁定到位?
所以我有一个tableViewController,它包含一个TableView,其中包含一个CustomCell和一个常规UIView 常规UIView位于我希望我的表所在的位置上方。问题是,因为表格是可滚动的,所以每次我上下滚动时,UIView都会随之滚动 有没有办法将UIView锁定到位,使其不会移动 谢谢,Xcode:如何让我的UIView停止滚动并锁定到位?,xcode,uiview,tableview,Xcode,Uiview,Tableview,所以我有一个tableViewController,它包含一个TableView,其中包含一个CustomCell和一个常规UIView 常规UIView位于我希望我的表所在的位置上方。问题是,因为表格是可滚动的,所以每次我上下滚动时,UIView都会随之滚动 有没有办法将UIView锁定到位,使其不会移动 谢谢, 史蒂夫有三种方式,但都没那么有趣: 重构以使UIView拥有UITableView,而不是将UITableView作为根-然后将锁定的UIView添加到根-当然,这样您就不能使用UI
史蒂夫有三种方式,但都没那么有趣:
据我所知,我认为您需要将
ui视图
放置在tableView
上方的固定位置
正如@Colin在其回答的第1部分中所提到的,您可以使用UIViewController
作为根来实现这一点,而不是使用TableViewController
。
只需根据需要在其下方添加一个ui视图
和一个tableView
。不要忘记连接情节提要
中的表视图
委托和数据源
。
另外,确认协议
< UITableViewDataSource, UITableViewDelegate >
在您的,viewController
的.h
文件中
您的<代码>情节提要应该是这样的:
绿色的视图
是您的固定位置视图
希望这有帮助!:)
ui视图是否是自定义单元格的一部分?您是在XIB
中还是通过代码执行此操作?UIView不是自定义单元格的一部分,它是tableView的一部分。tableView有我的UIView和自定义单元格。在Storyboard中,我以前尝试过#3,但它不允许向根窗口添加UIView,因为它是tableViewController。我要试试你的第一个建议。我猜我必须手动实现数据源和委托协议?我现在还有几个实现[tableView reloadData]方法的方法。但是如果我将tableViewController切换到UIViewController,Xcode将不再识别tableView对象,对吗?您可以将tableViewController
切换到UIViewController
。您只需确认相应的协议,即UITableViewDelegate
和UITableViewDataSource
。我完全实现了您所说的,它可以工作!谢谢你们两位!