最近看视频学习,做一个demo的时候碰到一个神奇的bug,后来经过各种搜索、调试和修改代码虽然把这个bug解决了,但不知道为什么。这里打算把这个过程分享出来,给大家做参考顺便也求大神来指导下。

事情是这样的,我打算用xib自定义一个UIView,然后将他设置为tableView的tableFooterView以实现下面这样的效果。

其中我xib中的控件是这样的。在xib上首先放一个点击加载更多的UIButton。然后放一个正在加载的UIView,这个View里面有一个UIActivityIndicatorView和正在加载更多数据的UILabel,并且一开始隐藏这个View,点击Button后显示它。最后设置好各个约束。

设置tableFooterView的代码是这样的。

    WKLoadMoreFooter *footerView = [WKLoadMoreFooter loadMoreFooter];footerView.delegate = self;_dealsTable.tableFooterView = footerView;
复制代码

为了能看清,我给xib设置了个背景色,效果是这样的。Button的文字呢,当时我是懵逼的。

于是我设置了半天的Button、Label等等控件的文字颜色和背景色,发现都没有用,点击后虽然能加载,但是一直就是这个粉红色的。然后,我突然想到是不是这个UIView的高度问题。于是就把他设置成tableHeaderView,果然效果就出来了,它被拉高了,覆盖了下面的两个cell。

之后我就找了半天怎么设置tableHeaderView的高度,试了好多种方法都没有什么用。最后终于找到一个方法解决了这个bug,就是手动创建一个UIView ,设置这个UIView为tableHeaderVIew,再把xib的UIView放在这个UIView上面。代码如下:

    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 44)];_dealsTable.tableHeaderView = headerView;WKLoadMoreFooter *loadMoreFooterView = [WKLoadMoreFooter loadMoreFooter];footerView.delegate = self;footerView.frame = CGRectMake(0, 0, _dealsTable.frame.size.width, 44);[headerView addSubview: loadMoreFooterView];
复制代码

最后将xib的背景色改回来,将其改为tableFooterView,前面想要的效果就出来了。如果你也遇到这样类似的问题可以尝试用这个方法去解决。然而,虽然解决了这个问题,但心中充满疑惑,到底这个xib创建的UIView设置成tableFooterView的时候发生了什么呢,求大神们指教。

iOS新手,也求大神们勿喷。

转载于:https://juejin.im/post/5a3785936fb9a0450a677282

解决xib自定义tableFooterView一个神奇的bug相关推荐

  1. 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

    摘要:该项目是DAYU平台的数据开发(DLF),数据开发中一个重要的功能就是ETL(数据清洗).ETL由源端到目的端,中间的业务逻辑一般由用户自己编写的SQL模板实现,velocity是其中涉及的一种 ...

  2. IOS7的一个神奇的Bug

    2019独角兽企业重金招聘Python工程师标准>>> 转载请注明出处 今天跟龙强兄,没事在得瑟手机,结果无意中发现一个IOS7的bug,如果iphone未设置锁屏密码,但是分别设置 ...

  3. android:ellipsize=end 不起作用,Android应用开发Android TextView关于android:ellipsize=end的一个神奇bug解决方案...

    本文将带你了解Android应用开发Android TextView关于android:ellipsize=end的一个神奇bug解决方案,希望本文对大家学Android有所帮助. 疑惑 今天在开发过 ...

  4. iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局

    iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 iOS开发UI篇-使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 一.项目 ...

  5. elementUI解决el-checkbox自定义样式、@change样式的失效 等bug - 代码示例

    elementUI解决el-checkbox样式(自定义样式问题) 1. 需求(如图所示): 2. 代码示例说明:(截图示下) 测试正常. /* 热门职位 + 区域 组件替换样式 */ .hot-jo ...

  6. 设置视图IOS开发(97)之自定义视图之使用XIB自定义一个UIView

    本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~ 1 前言 Xcode中集成的BI中的控件非常丰富,但有时候不免不能满足我们的需求,今天我们来学习一下如何使用XIB自定义一个U ...

  7. 萌妹子语音在线吹彩虹屁陪你写代码!一个神奇的 VSCode 插件

    来源 | 程序员的那些事 一个神奇的 VSCode 插件 最近在 GitHub 发现了一个有趣的 VSCode 插件:Rainbow Fart.在你写代码的时候,可根据关键字播放接近代码含义的语音. ...

  8. 使用xib自定义button

    最近一直在使用xib开发,在xib上面使用inset调整button的image或者title的位置实在是有点呵呵 索性自己用xib定义button,添加imageView和Label的属性,在最上层 ...

  9. 意想不到!这个神奇的bug让我加班到深夜

    意想不到!这个神奇的bug让我加班到深夜 2021-05-30 16:07:08·马小乎 给大家分享一个近期解决的线上问题,起因是这样的,近期参与公司的一个项目,工程量很大,代码编写测试过后终于到了紧 ...

最新文章

  1. apache log4j-1.2.15的使用
  2. c3p0 mysql maven_Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统
  3. WCF添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据。...
  4. 中国水雾化铁粉行业市场供需与战略研究报告
  5. python的条件判断
  6. 射频微电子学_越老越吃香的射频工程师,如何才能成为一个出色的射频工程师?...
  7. Java的PDF分页操作:分页读取、分页拆分
  8. MFC网络通信程序设计——网络聊天室
  9. 阿酷三合一版_阿酷插件下载|3dmax阿酷插件下载 v3.2 开源版 - 比克尔下载
  10. startuml如何画流程图_怎样在迅捷画图在线网站中绘制UML流程图
  11. OJ水题-----蛇形填数
  12. 遇到的问题1:print时报错 can only concatenate str (not tuple) to str
  13. 前端开发和后端开发哪个难学
  14. 关于QRCode生成二维码(背景图、Logo)
  15. git 修改倒数二个 commit
  16. 如何制作出美观的游戏界面?
  17. 关于在ubuntu下解压文件到指定文件下时出现Exiting with failure status due to previous errors的错误
  18. justify/align-content/items使用区别
  19. ubuntu sever部署cuckoo
  20. HK01BS单通道电容式触控芯片IC内置稳压LDO低压复位模块

热门文章

  1. 零信任技术进阶篇(关键技术及挑战、BeyondCorp安全模型)
  2. Python fire官方文档教学(自动生成命令行,个人觉得意义不大,不如argparse)
  3. Windows内存保护机制及绕过方法
  4. Linux lsof命令使用详细
  5. 汇编语言:实验10 根据材料编程—3.数值显示,编程,将data段中的数据以十进制形式显示出来
  6. MySQL数据库的权限管理
  7. Python-WSGI协议如何实现?
  8. JFinal常量配置学习笔记
  9. swift学习笔记之-协议
  10. TcxComboBox控件说明