Col*_*per 0 iphone uibutton uiscrollview ios swift
我有一个位于嵌套滚动视图中的 UIButton(水平分页滚动视图内的垂直分页滚动视图)。我的问题是当我点击它突出显示的按钮时,它不会触发我将它链接到的 segue。然后我尝试将它链接到我放置断点的 IBAction 函数,当我点击按钮时,我没有点击该断点,所以我的按钮也没有触发 IBActions。
我试过关闭两个滚动视图的延迟内容触摸,但没有用。所做的只是在我点击按钮时立即突出显示按钮,而不是在突出显示之前稍微加权。无论哪种方式,当我点击它时,我的按钮会突出显示,但我的任何出口(segues 或 IBActions)都没有触发,我认为这很奇怪。我在网上发现其他人也有类似问题,但他们的按钮甚至没有突出显示。我的突出显示,所以我知道它从用户那里得到输入。
这是我实例化嵌套滚动视图的方式。主要的水平滚动视图是在我的故事板中创建的,然后在它的 ViewController viewDidLoad 方法中我这样做是为了嵌套垂直滚动视图。垂直滚动视图包含我的按钮。
let readingVC = storyboard!.instantiateViewControllerWithIdentifier("ReadingViewController") as! ReadingRingViewController
readingVC.read = reading.minutesRead
readingVC.goal = reading.minutesGoal
readingVC.selectedDate = selectedDate
readingVC.today = today
let readingView = readingVC.view
let scrollPage2 = UIScrollView(frame: CGRectMake(readingView.bounds.size.width,0,readingView.bounds.size.width, readingView.bounds.size.height))
scrollPage2.addSubview(readingView)
scrollPage2.contentSize = CGSize(width: readingView.bounds.size.width, height: readingView.bounds.size.height*2)
scrollPage2.pagingEnabled = true;
scrollPage2.alwaysBounceVertical = true
scrollPage2.userInteractionEnabled = true
let readingBottomView = storyboard!.instantiateViewControllerWithIdentifier("ReadingBottomViewController").view
let scrollPage2Bottom = UIScrollView(frame: CGRectMake(0,readingView.bounds.size.height,readingBottomView.bounds.size.width, readingBottomView.bounds.size.height*2))
scrollPage2Bottom.addSubview(readingBottomView)
scrollPage2Bottom.contentSize = CGSize(width: readingBottomView.bounds.size.width, height: readingBottomView.bounds.size.height)
scrollPage2.addSubview(scrollPage2Bottom)
scrollPage2.sendSubviewToBack(scrollPage2Bottom)
Run Code Online (Sandbox Code Playgroud)
这是我的按钮所在的 viewController 的代码。我已经将它链接到 IBAction 并将它链接到另一个 viewController 作为推送segue
@IBAction func start(sender: AnyObject) {
var x = 0
var y = 0
x = y + x
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "StartReading" {
let destVC = segue.destinationViewController
}
}
Run Code Online (Sandbox Code Playgroud)
我解决了我自己的问题。按钮的动作不起作用的原因是因为我将按钮所在的视图添加为子视图,但忘记还将按钮视图的视图控制器添加为子视图控制器。因此,在实例化 readingVC 并设置其成员变量后,我插入了以下代码行:
self.addChildViewController(readingVC)
readingVC.didMoveToParentViewController(self)
Run Code Online (Sandbox Code Playgroud)
现在按钮完全按预期工作
| 归档时间: |
|
| 查看次数: |
410 次 |
| 最近记录: |