美文网首页
TableView 菜鸟容易忘记的细节

TableView 菜鸟容易忘记的细节

作者: 哈么么茶 | 来源:发表于2016-07-25 10:38 被阅读67次

    看图


    屏幕快照 2016-07-25 下午10.52.59.png

    1.最上面动图是TableView的 tableHeaderView,在initWithFrame设置如下:

        _headImageScView = [[KKImageScroller alloc] init];
        _headImageScView.delegate = self;
        _headImageScView.frame = CGRectMake(0, 0, HMScreenW, 210);
      #pragma mark - 先设置大小 再设置为 tableHeaderView
    //[_tableView setTableHeaderView:_headImageScView];
        _tableView.tableHeaderView = _headImageScView;
    

    一定先设置大小 再设置为 tableHeaderView,这样不会遮挡第一个cell.

    假如是动态头部,每次改变frame后要重新设置一遍 :

    _tableView.tableHeaderView = _headImageScView;

    这样保证tableHeaderView每次frame都是正确的!

    2.热门那个view是所有section的头部,这个如果只设置文字,在以下方法中设置

     - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
    
    return @"热门推荐";
    
    }
    

    如果需要设置带按钮或者图片的效果,就要自定义一个view继承UITableViewHeaderFooterView,然后在下面方法中返回:

      - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    
        HomeFirstHeaderV *headerView = [HomeFirstHeaderV shareHomeFirstHeaderV:tableView];
        headerView.frame = CGRectMake(0, 5, HMScreenW, 20);
    
        return  headerView;
    }
    

    此头部视图若想循环使用,在自定义的时候添加以下代码

      HomeFirstHeaderV *headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:ID];
    
      if (headerView == nil) {
          headerView = [[self alloc] initWithReuseIdentifier:ID];
        }
    

    在以下方法中设置sectionHeader大小,其中return 0.1的时候最小。

      - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
        return 0.1;
        }
    
      - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(      NSInteger)section{
    
          return 30;
      }
    

    最后实现sectionHeader悬停效果,设置UITableViewStyle为UITableViewStylePlain,不要悬停就设置为UITableViewStyleGrouped。

      typedef NS_ENUM(NSInteger, UITableViewStyle) {
            UITableViewStylePlain,          // regular table view
            UITableViewStyleGrouped         // preferences style table view
      };
    

    一个菜鸟的自白。

    相关文章

      网友评论

          本文标题:TableView 菜鸟容易忘记的细节

          本文链接:https://www.haomeiwen.com/subject/jcpgjttx.html