带有子视图的 UIImageView,如 Facebook messenger
Posted
技术标签:
【中文标题】带有子视图的 UIImageView,如 Facebook messenger【英文标题】:UIImageView with subview like Facebook messenger 【发布时间】:2016-05-14 11:39:35 【问题描述】:我需要像 Facebook messenger 一样绘制 UIImageView(Facebook 个人资料加上 messenger 徽标)。 我需要一个带有子视图(信使徽标)的圆形 UIImageView 未剪辑。
有人有想法吗?
我的代码:
class CustomImageView : UIImageView
override init(frame: CGRect)
super.init(frame: frame)
self.layer.cornerRadius = frame.size.height/2
self.layer.masksToBounds = false
self.clipsToBounds = true
self.contentMode = UIViewContentMode.ScaleAspectFill
self.userInteractionEnabled = true
required init?(coder aDecoder: NSCoder)
fatalError("init(coder:) has not been implemented")
let facebookProfil = CustomImageView(....)
let messengerLogo = CustomImageView(frame: CGRect(x: 0, y: 0, width: 15 , height: 15))
facebookProfil(messengerLogo)
我有这个
image result
【问题讨论】:
【参考方案1】:class CustomImageView: UIImageView
let logoImageView = UIImageView()
convenience init(image: UIImage, logo: UIImage)
self.init(image: image)
self.logoImageView.image = logo
self.clipsToBounds = true
self.contentMode = UIViewContentMode.ScaleAspectFill
self.userInteractionEnabled = true
logoImageView.clipsToBounds = true
override func didMoveToSuperview()
self.layer.cornerRadius = frame.size.height/2
logoImageView.frame = CGRect(origin: self.frame.origin, size: CGSize(width: 50, height: 50))
self.superview?.addSubview(logoImageView)
【讨论】:
它不适用于自定义图像视图上的圆角半径以上是关于带有子视图的 UIImageView,如 Facebook messenger的主要内容,如果未能解决你的问题,请参考以下文章
当单元格具有 UIImageView 子视图时,UITableView 经历断断续续的滚动