【问题标题】:Fixed UIImage in UITableView at top修复了顶部 UITableView 中的 UIImage
【发布时间】:2015-10-21 19:49:57
【问题描述】:

当我在带有原型单元格的 UITableView 顶部添加 UIImage 时,图像不会保持固定。所以当我滚动顶部的UITableView 时,它也会随之滚动。

有没有办法将UIImage 视图添加为固定(不可移动)

谢谢!

【问题讨论】:

  • 放入表头
  • @FrequencyMatched 它也会滚动。我建议将它放在 UITableView 顶部的 UIImageView 作为主视图的子视图(包含图像和表格)
  • @ryancrunchi 是的,但是如果您将 UIImageView 作为部分标题(以编程方式),它将不会滚动。
  • 如果是部分标题,它不会滚动到第二部分,但如果您滚动到顶部,它会滚动(如拉动刷新)。如果它是表格视图标题,它将像任何其他单元格一样滚动。

标签: ios swift uitableview cocoa-touch uiimageview


【解决方案1】:

你需要遵循这个:

  1. 保持基本视图为常规 UIView。
  2. 在 (0,10) 处添加图像作为子视图
  3. 在 (0, 10+margin) 位置添加一个 UITableView。

【讨论】:

    【解决方案2】:

    UITableView 是 UIScrollView 的子类。所以我们可以使用 scrollViewDidScroll 方法来执行这个任务。

    在顶部固定 imageView 很简单。但是你需要在 scrollViewDidScroll 方法中获取你的 imageView 的引用。

    func scrollViewDidScroll(scrollView: UIScrollView) {
    
        if scrollView==self.tableView {
    
            var frame = yourImageView.frame
    
            if scrollView.contentOffset.y > 0 {
    
                frame.origin.y = scrollView.contentOffset.y
                yourImageView.frame = frame
    
            } else if scrollView.contentOffset.y == 0 {
    
                frame.origin.y = 0
                yourImageView.frame = frame
            }
        }
    }
    

    【讨论】:

      【解决方案3】:

      您可以做的是创建一个UIView 子类并未能通过命中测试,从而将所有触摸事件传递给下面的表格视图,这将允许您在图像视图中使用滚动手势而不移动它。

      在你的实现中:

      - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
      
          UIView *view = [super hitTest:point withEvent:event];
      
          if (view == self) {
      
              view = nil;
      
          }
      
          return view;
      }
      

      UIImageView 放在表格视图上,即将其添加到表格视图的超级视图(确保启用用户交互并将情节提要中的类设置为您的子类。

      【讨论】:

        【解决方案4】:

        在 UIImageView 中设置图像或在 UITableView 标题中添加为 UIView 背景,使用以下方法。抱歉,下面的代码是为 swift 编写的,你也会为 Objective C 找到它。

        func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-10-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-22
          • 2021-07-11
          • 2018-04-16
          • 1970-01-01
          相关资源
          最近更新 更多