用 UIImageView 替换 UIRefreshControl
Posted
技术标签:
【中文标题】用 UIImageView 替换 UIRefreshControl【英文标题】:Replace UIRefreshControl with UIImageView 【发布时间】:2017-08-14 11:19:46 【问题描述】:我的UITableView
中有一个UIRefreshControl
。我想用我自己的替换系统的刷新图标。我试过像这样向 refreshControl 添加一个子视图......
let refreshImage = UIImageView()
refreshImage.image = UIImage(named: "RefreshIcon")
refreshControl.insertSubview(refreshImage, at: 0)
tableview.addSubview(refreshControl)
但这没有用。有没有人有任何想法?非常感谢!
【问题讨论】:
尝试 refreshImage.frame = refreshControl.bounds, refreshControl.addSubview(refreshImage) 【参考方案1】:请试试这个代码:
let refreshImage = UIImageView()
refreshImage.image = UIImage(named: "RefreshIcon")
refreshControl.backgroundColor = UIColor.clear
refreshControl.tintColor = UIColor.clear
refreshControl.addSubview(refreshImage)
tableview.addSubview(refreshControl)
然后将其居中放置在顶部,您可以使用:
refreshImage.frame = refreshControl.bounds.offsetBy(dx: self.view.frame.size.width / 2 - 20 // half the width of the refreshImage, dy: 10)
refreshImage.frame.size.width = 40 // Whatever width you want
refreshImage.frame.size.height = 40 // Whatever height you want
【讨论】:
好的,这样就可以了,但是图像在屏幕上被拉伸了。图像是一个正方形。所以,我用refreshImage.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
替换了refreshImage.frame = refreshControl.bounds
。但是什么也没出现,哈哈。
当我设置这个 refreshImage.frame = CGRect(x: 0, y: 0, width: 20, height: 20) 时,它在我身边工作,这显示了刷新标题的 at 角。我使用的是jpg格式图片@JacobCavin
使用格式为 RefreshIcon.png 的图像名称,无论您的格式如何@JacobCavin
我只需要将图像居中到屏幕的 x 和屏幕的顶部。
是的,没错,那么图像显示与否? @JacobCavin以上是关于用 UIImageView 替换 UIRefreshControl的主要内容,如果未能解决你的问题,请参考以下文章
替换 UIlabel 代替 UIImageView 而不删除 interfacebuilder 中的约束
如何在 iOS 上的 UIScrollView 中正确替换 UIImageView 中的图像