2016-12-26 4 views
0

스크린 샷을 찍은 후 경고보기를 표시하고 특정 문자열과 일치하는 텍스트 입력이 필요한지 확인하고 싶습니다. 사용자가 올바른 텍스트를 입력하지 않으면 경고보기가 닫히지 않고 다시 시도하라는 메시지가 표시됩니다. 사용자가 올바른 텍스트를 입력하면 경고보기가 닫힙니다.스크린 샷 찍을 때 경고 표시

답변

2

let requireTextInput = "require text input" 
// add observer for screen shot  
NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationUserDidTakeScreenshot, object: nil, queue: OperationQueue.main, using: 
     { notification in 

      var inputTextField = UITextField() 

      let textPrompt = UIAlertController(title: nil, message: "require text input", preferredStyle: .alert) 

      textPrompt.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil)) 

      textPrompt.addAction(UIAlertAction(title: "OK", style: .default, handler: { 
       (action) -> Void in 
      // if the input match the required text 

       let str = inputTextField.text 
       if str == requireTextInput { 
        print("right") 
       } else { 
        print("wrong") 
       } 

      })) 

      textPrompt.addTextField(configurationHandler: {(textField: UITextField!) in 
       textField.placeholder = "place Holder" 
       inputTextField = textField 

      }) 

      self.present(textPrompt, animated: true, completion: nil) 

    }) 
+0

훌륭한 작품 사용할 수 있습니다! 감사. 어떤 이유로 인해 탐색 모음이보기에서 벗어납니다. 미끄러지지 않게하는 방법은 없나요? 탐색 바를 계속 사용하려면 – Miles

+0

을 입력하십시오. 마지막 라인을 "navigationController? .pushViewController"로 바꿀 수 있습니다. –

+0

전체 화면이 빈 화면과 키보드가있는 새로운보기 컨트롤러로 푸시되기 때문에 작동하지 않는 것 같습니다. "self.navigationController? .pushViewController (textPrompt, animated : false)" – Miles