相关疑难解决方法(0)

添加UIButton目标时,"classname没有成员函数名"

这里是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)还有更多,但这只会在以后崩溃.

swift swift3

16
推荐指数
2
解决办法
5231
查看次数

iOS禁用NavigationController后退按钮的动画

我想在NavigationController中使用后退按钮弹出ViewController时禁用动画。

我试过了:

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(false)
}
Run Code Online (Sandbox Code Playgroud)

但是它仍然是动画。

navigationcontroller ios swift

1
推荐指数
1
解决办法
6304
查看次数

标签 统计

swift ×2

ios ×1

navigationcontroller ×1

swift3 ×1