2016-04-07 43 views
2

直接的問題:編程挖掘的UIButton迅速

你如何編程挖掘一個UIButton在雨燕2.0嗎?

例子:UIButton.tap()

解釋爲何我不能直接調用按鈕,點擊功能:

我目前使用AKSwiftSlideMenu(https://github.com/ashishkakkad8/AKSwiftSlideMenu)(https://www.cocoacontrols.com/controls/akswiftslidemenu)創建菜單。這是通過將菜單視圖控制器添加到主視圖控制器作爲子視圖來完成的。

let menuVC : BackTableViewController = self.storyboard!.instantiateViewControllerWithIdentifier("backTableViewController") as! BackTableViewController 
    menuVC.btnMenu = sender 

    self.view.addSubview(menuVC.view) 
    self.addChildViewController(menuVC) 

正如你所看到的,btnMenu,這是一個UIButton,被傳遞到menuVC。在兩個視圖控制器上具有相同的按鈕允許主視圖控制器中的單個onSlideMenuButtonPressed(sender : UIButton)功能來處理menuVC的呈現。我正在創建的菜單中的一個選項是「註銷」按鈕,其中顯示UIAlertViewController詢問用戶是否要退出。以下是我的代碼在menuVC我的「是」按鈕的處理程序:

 logOutAlert.addAction(UIAlertAction(title:"Yes", style: .Default, handler: { action in 
     self.btnMenu.touchInside 
     CURRENT_USER.unauth() 
     NSUserDefaults.standardUserDefaults().setValue(nil, forKey: "uid") 
     print("User logged out") 
     CurrentUser.checkIfUserIsLoggedIn() 
    })) 

我試圖挖掘與touchInside方法按鈕(這是不正確的課程),以駁回menuVC。有沒有這樣的事情作爲UIButton.tap()等價物或訪問btnMenuonSlideMenuButtonPressed(sender : UIButton)函數的方法?

側面說明: 我打開創了menuVC一個homeViewControllerDelegate對象直接調用onSlideMenuButtonPressed(sender : UIButton),這可能會工作的想法,但它似乎是一個關於倒過來看作爲btnMenu已經有一個參考該功能。

回答

6

你嘗試過:

myAutomatedButton.sendActionsForControlEvents(.TouchUpInside) 

這似乎是一個先前的問題和可能的重複,但我發現帖子是:how to programmatically fake a touch event to a UIButton?

+0

是它的工作!非常感謝你! –

+0

超級。很高興我能幫上忙。 –

+0

我也使用此代碼,但不工作 –