对于UITableView和UIImageView的DrawRect重写之后的影响
一、继承 UITableView和UIImageView , 重写 DrawRect 方法,然后里面留空
ImageView
@implementation DrawImageView
- (void)drawRect:(CGRect)rect {
// Drawing code
}
@end
Table
@implementation DrawTestTable - (void)drawRect:(CGRect)rect
{ } @end
结果

二、分析
对于UITableView来说,最终显示的内容是 cell 和 header, UITableView只是作为一个容器,系统不在这个容器上面绘制任何内容
对于UIImageView来说,真正显示的内容在CALAyer的ID上,这里和DrawRect中的绘制并不冲突
与UILabel不太相同的是,UILabel中的文字是真正“画”上去的, UITableView 和 UIImageView 是通过设置另外的属性,由render server叠加上去的
因此,对于UIView的属性,背景色之类的属性,这些和DrawRect也不冲突,两个可以同时生效。
通过比较不同的UIKit组件,可以大概知道UIKit绘制的原理。
Demo下载地址:
https://files.cnblogs.com/files/doudouyoutang/DrawTest.zip
对于UITableView和UIImageView的DrawRect重写之后的影响的更多相关文章
- iOS开发——UI基础-UIButton、UIImageView、UILabel的选择
1.UILabel - UILabel的常见属性 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) ...
- touchesBegan: withEvent: <--- with UIScrollView / UIImageView
touchesBegan: withEvent: / touchesMoved: withEvent: / touchesEnded: withEvent: 等只能被UIView捕获(如有问题请指出对 ...
- UITableView section 圆角 阴影
在UITableView实现图片上面的效果,百度一下看了别人的实现方案有下面2种: 1.UITableView section里面嵌套UITableView然后在上面实现圆角和阴影, 弊端代码超 ...
- UIImageView总结
UIImageView UIKit框架提供了非常多的UI控件,但并不是每一个都很常用,有些控件可能1年内都用不上,有些控件天天用,比如UIButton.UILabel.UIImageView.UITa ...
- 什么是UIImageView
UIKit框架提供了非常多的UI控件,但并不是每一个都很常用,有些控件可能1年内都用不上,有些控件天天用,比如UIButton.UILabel.UIImageView.UITableView等等 UI ...
- 微软的坑:Url重写竟然会引起IIS内核模式缓存不工作
万万没有想到!当初为了解决使用负载均衡时记录客户端IP地址的问题,在IIS URL Rewrite Module中增加了一条URL重写规则(详见迁入阿里云后遇到的Request.UserHostAdd ...
- iOS性能优化-数组、字典便利时间复杂
上图是几种时间复杂度的关系,性能优化一定程度上是为了降低程序执行效率减低时间复杂度. 如下是几种时间复杂度的实例: O(1) return array[index] == value; 复制代码 O( ...
- 如何设计一个 iOS 控件?(iOS 控件完全解析) (转)
前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内 ...
- Type mytableview does not confirm to portocol UITableViewDataResource
继承UITableViewDataSource报上面这个总是,是重写协议时写错了 override func numberOfRowsInSection(section: Int) -> Int ...
- 如何设计一个 iOS 控件?(iOS 控件完全解析)
前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内 ...
随机推荐
- mysql 锁机制(一)
前言 介绍mysql 锁的机制. 正文 锁类型 读锁,是一种共享锁,s锁,允许一个事务是读取一行,阻止其他事务获取相同的数据集的排他锁. 注:排它锁的意思就是说只能加相同的锁,不能加不同的锁,比如都加 ...
- 第五章-for循环的练习
/* * @Issue: 每个苹果0.8元,第一天买两个苹果,从第二天开始,每天买前一天的两倍,直至购买的苹果数量 * 个数达到不超过100的最大值,编写程序求每天平均花多少钱. * @Author: ...
- 把 Maven 提交到项目?Maven Wrapper的使用与好处
本文收录于 Github.com/niumoo/JavaNotes,Java 系列文档,数据结构与算法! 本文收录于网站:https://www.wdbyte.com/,我的公众号:程序猿阿朗 前言 ...
- Spark3.0 Standalone模式部署
之前介绍过Spark 1.6版本的部署,现在最新版本的spark为3.0.1并且已经完全兼容hadoop 3.x,同样仍然支持RDD与DataFrame两套API,这篇文章就主要介绍一下基于Hadoo ...
- 必须经典GPT4.0
学习C#编程,有一些经典的教材和资源值得关注.下面列出了一些建议供你参考: 1. <C# 编程黄皮书>(C# Programming Yellow Book):Rob Miles 编著的这 ...
- 【Oracle】获取字符串中特定字符在字符串中出现的次数
[Oracle]获取字符串中特定字符在字符串中出现的次数 使用regexp_count函数 例子: select regexp_count('A,B,D,E;Q;F;GQWEQWE:qwe',';') ...
- 做ToB软件质量保障的这两年
简介:自己算是阿里的老兵了,从实习开始一直投身在 toB 业务的质量保障领域内,不能说是资深的专家,但所经历的.感受的业务特点和体会还是具有一定的代表性,希望能通过这篇文章,总结一下过往,并能和已经 ...
- 多任务学习模型之ESMM介绍与实现
简介:本文介绍的是阿里巴巴团队发表在 SIGIR'2018 的论文<Entire Space Multi-Task Model: An Effective Approach for Estima ...
- 云上技术 | 混合云管理平台多Region架构
简介: 随着现代化进程加速,企业业务规模和迭代速度也今非昔比,在已具备一定规模的中大型电力系统中,会面临着数字化升级的压力,包括复杂组织架构管理.计算资源弹性扩展.IT运维提效等需求.基于电力行业属性 ...
- 函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码
简介: 本文会以惰性加载为例一步步介绍函数式编程中各种概念,所以读者不需要任何函数式编程的基础,只需要对 Java 8 有些许了解即可. 作者 | 悬衡 来源 | 阿里技术公众号 本文会以惰性加 ...