为什么父页面视图控制器中的按钮没有被触发?

时间:2016-06-20 06:13:15

标签: ios swift

我有一个页面视图控制器,我在父视图控制器中有一个按钮,我想在单击时在控制台中打印“被叫”,但没有打印。怎么了?我检查了按钮和代码之间的连接,确实存在。我不确定这是否会影响它,但也有一个平移手势。

@IBAction func btnclicked(sender: UIButton) {
    print("called") //Not printed
}

4 个答案:

答案 0 :(得分:0)

检查您的故事板场景中是否设置了您的课程。 picture reference

答案 1 :(得分:0)

您需要为要执行的操作创建一个新的Swift类。

创建一个新的.swift类并在其中创建一个函数:

func buttonClicked(button: UIButton)  {

     print("Called")

    }

答案 2 :(得分:0)

查看您的数据流是否正确。你应该有pageViewController的根控制器。在其中,您必须实现协议,甚至可以保留对要显示的视图控制器的所有故事板ID的引用。将此代码添加到此根控制器并将其与页面视图控制器连接。

if let xyz = storyboard?.instantiateViewControllerWithIdentifier("pageView") {

            self.addChildViewController(xyz)
            self.view.addSubview(xyz.view)
            turn = xyz as! UIPageViewController
            turn.dataSource = self
            turn.delegate = self

            turn.setViewControllers([viewControllerAtIndex(0)!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
            turn.didMoveToParentViewController(self)
}

P.S。这应该在你的viewDidLoad函数

答案 3 :(得分:-1)

我认为您必须将parent view controllers视图添加为child of page view controller。您还必须设置[self.pageController didMoveToParentViewController:self];

我对swift不太了解所以这里是Objective-C代码。

[self addChildViewController:self.pageController];
    [[self view] addSubview:[self.pageController view]];
    [self.pageController didMoveToParentViewController:self];