Xcode:如何让我的UIView停止滚动并锁定到位?

Xcode:如何让我的UIView停止滚动并锁定到位?,xcode,uiview,tableview,Xcode,Uiview,Tableview,所以我有一个tableViewController,它包含一个TableView,其中包含一个CustomCell和一个常规UIView 常规UIView位于我希望我的表所在的位置上方。问题是,因为表格是可滚动的,所以每次我上下滚动时,UIView都会随之滚动 有没有办法将UIView锁定到位,使其不会移动 谢谢, 史蒂夫有三种方式,但都没那么有趣: 重构以使UIView拥有UITableView,而不是将UITableView作为根-然后将锁定的UIView添加到根-当然,这样您就不能使用UI

所以我有一个tableViewController,它包含一个TableView,其中包含一个CustomCell和一个常规UIView

常规UIView位于我希望我的表所在的位置上方。问题是,因为表格是可滚动的,所以每次我上下滚动时,UIView都会随之滚动

有没有办法将UIView锁定到位,使其不会移动

谢谢,
史蒂夫

有三种方式,但都没那么有趣:

  • 重构以使UIView拥有UITableView,而不是将UITableView作为根-然后将锁定的UIView添加到根-当然,这样您就不能使用UITableViewController,或者必须使用视图控制器包含

  • 在表视图的委托的UIScrollViewDelegate::scrollViewDidScroll方法中,重新定位锁定的视图

  • 不知道这是否可行:尝试将锁定的视图添加到根窗口


  • 据我所知,我认为您需要将
    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
    。我完全实现了您所说的,它可以工作!谢谢你们两位!