我是iOS,iOS开发和Swift新手。
我想要一个带有图标的条形按钮。它应该显示用户的Facebook头像。来自Facebook的头像是JPEG格式。
这是我到目前为止所做的:
class MyViewController: UIViewController {
@IBOutlet weak var userButton: UIBarButtonItem!
var user: User?
override func viewDidLoad() {
super.viewDidLoad()
self.user = UserClient.sharedInstance.user
println(self.user?.pictureUrl)
if let pictureUrl = self.user?.pictureUrl {
let url = NSURL(string: pictureUrl)
let data = NSData(contentsOfURL: url!)
userButton.image = UIImage(data: data!)
}
}
...
问题:显示蓝色矩形而不是用户的头像。
我最初的想法:
答案 0 :(得分:1)
您可以使用setBackgroundImage设置背景图片:forState:barMetrics :,或者您可以使用setImage,但您必须将图像的渲染模式显式设置为UIImageRenderingModeAlwaysOriginal(您所看到的是模板图像)。 / p>
if let pictureUrl = self.user?.pictureUrl {
let url = NSURL(string: pictureUrl)
let data = NSData(contentsOfURL: url!)
let img = UIImage(data: data!)
let originalImage = img!.imageWithRenderingMode(.AlwaysOriginal)
userButton.image = originalImage
}
答案 1 :(得分:0)
您也可以使用图片作为背景:
userButton.setBackgroundImage(UIImage(named:"3.jpg"), forState: .Normal)