[self.navigationItem.leftBarButtonItems enumerateObjectsUsingBlock:^(UIBarButtonItem* item, NSUInteger i, BOOL *stop) {
item.customView.alpha = alpha;
}];
[self.navigationItem.rightBarButtonItems enumerateObjectsUsingBlock:^(UIBarButtonItem* item, NSUInteger i, BOOL *stop) {
item.customView.alpha = alpha;
}];
如何将此代码块转换为Swift?感谢。
答案 0 :(得分:2)
在Swift中,leftBarButtonItems
是一个可选数组[UIBarButtonItem]?
,
因此可以使用可选链接和forEach()
枚举它。
customView
也是可选的UIView?
,因此分配给alpha
属性也可以通过可选链接完成:
self.navigationItem.leftBarButtonItems?.forEach { item in
item.customView?.alpha = alpha
}
答案 1 :(得分:1)
有很多很酷的对象可以快速访问网站。使用其中一个并整理结果,你准备好了!
这是来自objectivec2swift.com的结果:
self.navigationItem.leftBarButtonItems.enumerateObjectsUsingBlock({(item: UIBarButtonItem, i: Int, stop: Bool) -> Void in
item.customView.alpha = alpha
})
self.navigationItem.rightBarButtonItems.enumerateObjectsUsingBlock({(item: UIBarButtonItem, i: Int, stop: Bool) -> Void in
item.customView.alpha = alpha
})
但这不是最快速的代码。让我们整理一下:
self.navigationItem.leftBarButtonItems?.forEach {
$0.customView?.alpha = alpha
}
self.navigationItem.rightBarButtonItems?.forEach {
$0.customView?.alpha = alpha
}
看那个!太开心了!