2016-12-22 5 views
1

초기 VC에 4 개의 UIButton이있는 앱을 만들었습니다. 각 버튼은 다른 VC와 구별되지만 (모든 경우 동일) 매개 변수가 다릅니다.3D 터치 빠른 액션 호출 UIButton

@IBAction func googleBtnPressed(_ sender: AnyObject) { 
    searchEngine = "Google" 
    print(searchEngine) 
    performSegue(withIdentifier: "google", sender: nil) 

} 

@IBAction func bingBtnPressed(_ sender: AnyObject) { 
    searchEngine = "Bing" 
    print(searchEngine) 
    performSegue(withIdentifier: "google", sender: nil) 

} 

@IBAction func ddgBtnPressed(_ sender: AnyObject) { 
    searchEngine = "DuckDuckGo" 
    print(searchEngine) 
    performSegue(withIdentifier: "google", sender: nil) 

} 

@IBAction func customBtnPressed(_ sender: AnyObject) { 
    performSegue(withIdentifier: "custom", sender: nil) 

} 

if let vc = segue.destination as? ViewController { 
      if searchEngine == "Google" { 
        vc.url = NSURL(string: "https://www.google.com") 
        vc.segueUsed = "google" 
        vc.searchEngine = "google" 
      } 

      else if searchEngine == "Bing" { 
        vc.url = NSURL(string: "https://www.bing.com") 
        vc.segueUsed = "google" 
        vc.searchEngine = "bing" 
      } 

      else if searchEngine == "DuckDuckGo" { 
        vc.url = NSURL(string: "https://www.duckduckgo.com") 
        vc.segueUsed = "google" 
        vc.searchEngine = "duckduckgo" 
      } 
     } 

    }else if segue.identifier == "custom"{ 
     print(segue.identifier!) 
     if let vc = segue.destination as? ViewController { 
      vc.segueUsed = "custom" 
     } 
    } 

나는 3D 터치의 빠른 작업를 사용하여 홈 화면에서이 4 개 개의 버튼을 호출합니다. 나는 이미 의 Info.plist 파일에 항목을 만들었습니다,하지만 어떻게이 구현합니까 AppDelegate.swift

<key>UIApplicationShortcutItems</key> 
<array> 
    <dict> 
     <key>UIApplicationShortcutItemType</key> 
     <string>$(PRODUCT_BUNDLE_IDENTIFIER).Google</string> 
     <key>UIApplicationShortcutItemTitle</key> 
     <string>Google</string> 
     <key>UIApplicationShortcutItemIconType</key> 
     <string>google</string> 
    </dict> 
</array> 

의 응답을 처리하는 동안 어려움을 겪고 있는가?

도움 주셔서 감사합니다.

답변

0
let yourViewcontroller = self.window?.rootViewController// This view controller should be action view controller 
     let itemKey = shortcutItem.userInfo["<YOUR KEY>"] 
     if itemKey == "Google" { 
      //call google action method 
     } else if itemKey == "Bing" { 
      //call Bing action method 
     } else if itemKey == "Ddg" { 
      //call "Ddg" action method 
     }else if itemKey == "CustomButton" { 
      //call CustomButton action method 
     } 

참고 : shortCutItemDictionary에 itemKey를 저장할 수 있습니다.

+0

appDelegate에서 조치 메소드를 호출하는 방법을 자세히 설명해 주시겠습니까? –