(1)UIButton和UIImageView的相同点
都能显示图片。
(2)UIButton和UIImageView的不同点
——前者不仅能显示图片还能监听事件(就是有addtarget方法)
——前者不仅能显示图片还能显示两张图片(就是setImage和setBackgroundImage两个方法)
——前者不仅能显示图片还能显示文字(就是setTitle方法)
(3)使用场合
——如果仅仅是显示一个图片没其他花头,那就用UIImageView
——如果有其他,那么……
因为如果仅仅用于显示图片,UIButton控件相比于UIImageView控件会更加耗内存一些,毕竟UIButton功能多嘛,就像包一样,虽然是个空包,但是包本身就很大,那么肯定会相对重一些。
(4)深层次原因。
——UIButton继承自UIControl,UIControl继承自UIView
——UIImageView直接继承自UIView
(5)总结
——继承自UIControl的控件都有addTarget方法,因为这个方法是UIControl的,继承自它,当然这个方法也继承过来了,实际上UIButton调用这个方法时是调用它父类也就是UIControl的。
——如果要看一个控件是否支持事件监听,那么久CMD+点击,看看它是否继承自UIControl,比如UISlider。