当前位置: 首页 > news >正文

网络规划设计师和网络工程师宁波seo推广服务电话

网络规划设计师和网络工程师,宁波seo推广服务电话,重庆市在建项目查询,市场策划一般情况下,UITableViewStylePlain和UITableViewStyleGrouped是UITableView常用到的style, 之前都是用到的时候,遇到问题直接用度娘,差不多就够用了,今天在修复UI提出的间隙问题,来回改,总觉得…

一般情况下,UITableViewStylePlain和UITableViewStyleGrouped是UITableView常用到的style,

之前都是用到的时候,遇到问题直接用度娘,差不多就够用了,今天在修复UI提出的间隙问题,来回改,总觉得没有改到命点。

下面是UI提出的要求:

 我项目里的代码片段是这样的:

    self.tableView = [[UITableView alloc]initWithFrame:(CGRectZero) style:(UITableViewStyleGrouped)];[self.view addSubview:self.tableView];[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {make.left.right.bottom.equalTo(@0);make.top.equalTo(@([UIDevice SafeAreaNaviHeight]));}];self.tableView.delegate = self;self.tableView.dataSource = self;self.tableView.tag = 10000;self.extendedLayoutIncludesOpaqueBars = YES;if (@available(iOS 11.0, *)) {[self refreshStableTableView:self.tableView];} else {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"self.automaticallyAdjustsScrollViewInsets = NO;
#pragma clang diagnostic pop}if (@available(iOS 15.0, *)) {//适配15之后headerHeight会默认22self.tableView.sectionHeaderTopPadding = 0;}self.tableView.contentInset = UIEdgeInsetsMake(7, 0, UIDevice.SafeAreaBottom +49, 0);self.view.backgroundColor = self.tableView.backgroundColor = [UIColor useLight:HexColor(blk_6) Dark:HexColor(d_blk_6)];self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

 UITableView用的style是UITableViewStyleGrouped

也在代理里设置了:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{return [UIView new];
}
//
- (UIView *)tableView:(UITableView *)tableView viewForFoooterInSection:(NSInteger)section{return [UIView new];
}
//
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{return .01;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{return .01;
}

感觉看着没有啥问题,所以来回试,第一次改的时候是动了个歪脑筋, 

将tableView的contentInset硬生生的改了一下,看起来大概达到UI的要求了,可能可以骗过UI吧,但是骗不了自己,这个间距并不精确。

self.tableView.contentInset = UIEdgeInsetsMake(7, 0, UIDevice.SafeAreaBottom +49 - 7, 0);

一直没有往tableFooterView上想,那是因为我一直以为代理里的viewForFooterInSection和tableView的tableFooterView是一个东西。

查完之后,大致知道了这两的区别:

tableFooterView是整个tableView的footerView;

代理创建的是每个section的footerView。

UITableView的style是UITableViewStyleGrouped的时候,tableFooterView会有个默认的高度,需要给tableFooterView一个view来实现自己的需求;当设置

self.tableView.tableFooterView = [UIView new];

不起作用。因为系统检测到高度为0时,会使用默认高度。所以在我的项目里需要做如下设置才能精确符合UI的要求

self.tableView.tableFooterView = [[UIView alloc]initWithFrame:(CGRectMake(0, 0, SCREEN_WIDTH, 7))];

代理里的viewForFooterInSection,如果不设置的话,会有个默认的空白高度,想要去除,或者想要指定的高度,那需要自己去实现代理;

如果是要去掉每个section的高度则在DataSourse的heightForFooterInSection return 0.01(不要return 0,不然会觉得没有设置高度,变成默认的高度)。为了保险起见同时在Delegate的viewForFooterInSection默认return [UIView new]确保高度设置为0.01成功这样就可以了。

tableHeaderView同理。

后期会把遇到的关于UITableView不同的style的不同设置也慢慢记录下来,方便自己理解,省的每次都是好像懂了,又好像还是啥也不懂。

http://www.tj-hxxt.cn/news/127917.html

相关文章:

  • 网站建设的扩展性分析app推广公司怎么对接业务
  • wordpress 如何修改主题中元素搜索引擎seo关键词优化效果
  • 重庆电子工程职业学院招生网网站seo优化案例
  • 网站建设管理维护制度软件开发培训多少钱
  • 徐州做网站广东疫情中高风险地区最新名单
  • 自己做网站如何销售昆明seo网站建设
  • 建设部网站安全事故百度影音在线电影
  • 怎样做网站二维码佛山做网站的公司哪家好
  • 壹财富 网站开发上海seo培训中心
  • 做美食推广的网站销售营销方案100例
  • java做购物网站靠谱seo外包定制
  • 响应式网站设计图重庆森林电影高清在线观看
  • 机械类产品网站做优化郑州本地seo顾问
  • 杭州做网站多少钱优化游戏卡顿的软件
  • 网站做预览文档大连最好的做网站的公司
  • wordpress留言标签板自助建站seo
  • wordpress 更改首页优化seo是什么意思
  • 想制作一个网站要多少钱什么是互联网推广
  • 做网站能挣钱吗网站数据统计工具
  • 杭州学校网站开发网络营销策划方案案例
  • 禹州做网站bz3399站长工具忘忧草
  • 网站设计用什么软件做的5000元做百度推广效果怎么样
  • 怎样建免费网站站长工具服务器查询
  • 做js链接的网站要加证书吗网站入口百度
  • 网站收录最好的方法edm营销
  • 石家庄做网站的百度关键字排名软件
  • 做网站的财务需求口碑营销的定义
  • 做分析图的地图网站网站免费搭建平台
  • 广州app软件开发公司如何做好网站推广优化
  • 怎么建立网站免费的广州百度提升优化