【发布时间】:2020-10-12 23:36:24
【问题描述】:
我有一个自定义视图类如下
class AudioPlayerView: UIView {
@IBOutlet weak var playAudio: UIButton!
@IBOutlet weak var audioSlider: UISlider!
@IBOutlet weak var deleteAudio: UIButton!
@IBOutlet weak var audioURL: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
self.isUserInteractionEnabled = true
commonInit()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
func commonInit(){
let viewFromXIB = Bundle.main.loadNibNamed("AudioPlayerView", owner: self, options: nil)![0] as! UIView
viewFromXIB.frame = self.bounds
addSubview(viewFromXIB)
}
}
我在视图控制器的滚动视图中以编程方式添加上述视图,并为按钮设置目标,如下所示
func addRecorderdAudioPlayerUI(){
audioRecorderControlUIView.isHidden = true
let audioPlayerView = AudioPlayerView()
audioPlayerView.frame = CGRect(x: 0, y: 0, width: 398, height: 50)
audioPlayerView.audioSlider.addTarget(NoteViewController.self, action: #selector(changeAudioTime), for: .valueChanged)
audioPlayerView.playAudio.addTarget(NoteViewController.self, action: #selector(playPauseAudioBtnCLicked), for: .touchUpInside)
audioPlayerView.deleteAudio.addTarget(NoteViewController.self, action: #selector(deleteAudioBtnCLicked), for: .touchUpInside)
audioPlayerView.audioURL.text = recordingsURLsToSave.last
audioContainerScrollView.addSubview(audioPlayerView)
scrollViewContentWidth += audioPlayerView.frame.width
audioContainerScrollView.contentSize = CGSize(width: scrollViewContentWidth, height: 50)
}
我可以添加视图,但 .touchUpInside 目标不起作用。
【问题讨论】:
-
将您的
NoteViewController.self更改为self并尝试。 -
请注意,我们更喜欢这里的技术写作风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,聊天材料和缩写 txtspk,恳求,你多久了被卡住、投票建议、元评论等。只需解释您的问题,并展示您尝试过的内容、预期的内容以及实际发生的情况。
标签: ios swift uiview uiviewcontroller