如何使 UIRefreshControl 更小?

Posted

技术标签:

【中文标题】如何使 UIRefreshControl 更小?【英文标题】:How can I make a UIRefreshControl smaller? 【发布时间】:2016-01-21 18:38:33 【问题描述】:

UIRefreshControl 使用一个非常大的微调器:

我想调整它的大小(微调器的框架,而不是下拉长度!)看起来更像这样:

我在the reference docs 中看不到有关如何执行此操作的任何内容,尽管它继承自 UIView,但设置框架不起作用(可能是因为我使用的是 AutoLayout?)

let refreshControl = UIRefreshControl()
refreshControl.frame = CGRect.init(x: 0, y: 0, width: 32, height: 32)

【问题讨论】:

【参考方案1】:

只需使用refreshControl.transform = CGAffineTransformMakeScale(0.5, 0.5);

无需导入 QuartzCore 或做任何其他事情。

【讨论】:

谢谢。这很有帮助【参考方案2】:

这很容易。只需从检查器中选择:

我想你用的是大号的。

你也可以这样做:

import QuartzCore
activityIndicator.transform = CGAffineTransformMakeScale(0.75, 0.75);

这将创建一个 15 像素宽的活动指示器

【讨论】:

因为我不想费心在 IB 中连接自动布局位,所以我不能那样做(尽管我通常会这样做!)。但是您的转换解决方案是完美的!谢谢;) 很高兴它对您有所帮助;) 在界面生成器中没有要修改的活动指示器属性,因为问题是指刷新控制活动指示器,而不仅仅是一个简单的活动指示器。正确答案应该是@return true【参考方案3】:

更新:Swift 5

refreshControl.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)

【讨论】:

以上是关于如何使 UIRefreshControl 更小?的主要内容,如果未能解决你的问题,请参考以下文章

从 Firebase 完成加载后如何使 UIRefreshControl 结束刷新

使 UIRefreshControl 短于滑动

如何以编程方式向下滑动UITableView以显示底层的UIRefreshControl

使 UIActivityIndi​​cator 与 UIRefreshControl 中的 on 大小相同

向上拖动时取消 UIRefreshControl

如何使两个表行之间的空间更小css