我正在学习Swift,我有一个基本的问题。我不想使用故事板,我想创建一个带代码的按钮。目前,我用这样编码我的按钮:
A filename cannot contain any of the following characters:
\ / : * ? " < > |
这很有效,但我正在寻找一些略有不同的东西。那就是:我想创建一个类,我想至少传递图像名称,按钮必须调用的方法和框架。此外,我想在我想要的时候在我的ViewController中实例化按钮。
我在这里发现了很多帖子,但没有帖子真有用(有些代码不起作用)。
你能帮帮我吗?答案 0 :(得分:1)
enum SPBarButtonTypes {
case openDrawer
case loginInfo
}
class SPBarButtonFactory: NSObject {
class func createBarButtonItemOfType (buttonType: SPBarButtonTypes, withTarget buttonTarget: AnyObject, andAction buttonAction: Selector) -> UIBarButtonItem {
var returnButton: UIBarButtonItem = UIBarButtonItem()
returnButton.target = buttonTarget
returnButton.action = buttonAction
switch buttonType {
case .openDrawer:
returnButton.image = UIImage(named: "ic_menu")
case .loginInfo:
returnButton.image = UIImage(named: "ic_info_outline")
default: NSLog("Wrong BarButton type")
}
return returnButton
}
}
添加以改善评论
它就像一个嵌套在另一个类中的类“接缝”,但它确实是Swifts声明一个类方法的方法....
此行声明一个名为SPBarButtonFactory
的类class SPBarButtonFactory...
此行声明了SPBarButtonFactory
的类方法class func createBarButtonItemOfType...