这里是Swift和iOS开发的超级新手.
我正在按照本教程关于在单个视图iOS应用程序中实现自定义控件.这是一个Swift 2教程,但到目前为止,我正在将所有内容转换为3(我使用XCode 8 Beta).
我有一个自定义类,RatingControl连接到View故事板中的一个.
在类的构造函数中,我创建了一个按钮:
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 44, height: 44))
button.backgroundColor = UIColor.red()
Run Code Online (Sandbox Code Playgroud)
然后,我尝试为按钮分配一个动作.教程说我应该这样做:
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(_:)),
for: .touchDown)
Run Code Online (Sandbox Code Playgroud)
然后在同一个RatingControl类中创建方法:
func ratingButtonTapped(button: UIButton) {
print("Button pressed ")
}
Run Code Online (Sandbox Code Playgroud)
但是当我编译时,它会抱怨:
类型"RatingControl"没有成员"ratingButtonTapped"
我已经100%确定函数在那里,在类中,并正确命名.完整来源
有什么明显的东西我不见了吗?
我尝试了什么:
@objc根据这个答案添加到类定义中(但对于仅限Swift的东西,这似乎很奇怪,不是吗?)
ratingButtonTapped()明确制作public(但看起来不应该是必要的)
摆弄字符串而不是选择器,button.addTarget(self, action: "RatingControl.ratingButtonTapped", for: .touchDown)还有更多,但这只会在以后崩溃.
我想在NavigationController中使用后退按钮弹出ViewController时禁用动画。
我试过了:
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(false)
}
Run Code Online (Sandbox Code Playgroud)
但是它仍然是动画。