我已经使用 xib 和 swift 创建了 UIView 的子类,这个 View 在 xib 文件中有一个 UIButton 作为 subview ,在 Swift 文件中有一个 actionlistener。此 View 由其他一些类分配并进一步用作 subview 。 View 已正确加载到 UI 上,但未调用按钮的 Action actionlistener,甚至某些按钮甚至无法点击。
import UIKit
class SampleSubView: UIView {
@IBOutlet weak var buttonR: UIButton!
@IBOutlet var view: UIView!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder);
self.commonInit();
}
override init(frame: CGRect) {
super.init(frame: frame);
self.commonInit();
}
func commonInit() {
let view = NSBundle.mainBundle().loadNibNamed("SampleSubView", owner: self, options: nil).first as! UIView;
self.addSubview(view);
}
func setOptionText(textStr:String){
self.buttonRef.setTitle(textStr, forState: UIControlState.Normal);
}
@IBAction func buttonClicked(sender: AnyObject) {
print("hi");
}
}
最佳答案
//我认为 View 是通过 commonInit 方法添加到按钮之上的,所以事件一旦检查就不会在该按钮上触发
关于ios - UIView 子类及其 subview 的 IBAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36349335/