UIRefreshControl样式 - Swift iOS7 +

问题描述:

如何将UIRefreshControl的外观更改为“雨滴”样式? 我抬头看the docs,它似乎没有任何外观相关的选项,虽然它继承了UIView/UIControl。UIRefreshControl样式 - Swift iOS7 +

而且它不在tableview中居中。我试图通过分配一个x = 0的帧来对齐它,但是这并没有改变它左对齐。 这里是什么样子

UIRefreshControl out of place

这是我的代码:

// in class description 
var refreshControl: UIRefreshControl! 

// in viewDidLoad() 
refreshControl = UIRefreshControl() 
//refreshControl.frame(CGRectMake(0, 0, 100, 100)) 
refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh") 
refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged) 
tableView.addSubView(refreshControl) 

func refresh(sender: AnyObject){ 
    println("refreshing") 
refreshControl.endRefreshing() 
} 

你不能将其更改为“雨滴”的风格。当Apple在UIKit中引入它时(我认为它是iOS4),这是刷新控制的出现,但随后他们切换到了当前版本。事实上,几乎没有您可以使用内置的UIRefreshControl进行定制 - 只是一些基本的文本样式和颜色。

如果您需要更灵活的控制,您需要查找第三方刷新控件或自己写一些东西。

+0

我明白了。你有一个想法如何至少让它在tableview中居中? – 2014-10-26 15:43:55

+0

我不记得做任何特别的事情。你确定你的tableView框架是正确的,它占据整个屏幕? – sha 2014-10-26 15:46:48

+0

TableBuilder在InterfaceBuilder中开箱即用,并且tableview单元格遍布整个屏幕。我会仔细检查。 – 2014-10-26 15:55:07