모달보기 컨트롤러에 모두 데이터를 전달하는 네 개의 버튼이있는 앱이 있습니다.Google AdMob 삽입 간행 대리 방법을 통해 세그먼트 데이터 전달
@IBAction func servicesButton(sender: UIButton) {
adCounter += 1
if adCounter == 4 {
adCounter = 0
if (interstitial.isReady) {
interstitial.presentFromRootViewController(self)
interstitial = createAd()
}
else {
self.performSegueWithIdentifier("modalSegue", sender: sender)
}
}
else {
self.performSegueWithIdentifier("modalSegue", sender: sender)
}
}
완벽한 작품 : 이것은 4 개 개의 버튼에 태그를 지정하고, prepareForSegue
다음override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "modalSegue" {
let secondViewController = segue.destinationViewController as! ModalViewController
if sender?.tag == 1 {
secondViewController.title = "Lawn Mowing"
}
else if sender?.tag == 2 {
secondViewController.title = "Landscaping"
}
else if sender?.tag == 3 {
secondViewController.title = "Hardscaping"
}
else if sender?.tag == 4 {
secondViewController.title = "Tree Removal"
}
}
}
내부에 약간의 조건문을 추가하여 수행됩니다 나의 버튼입니다. 나는 (servicesButton)에 AdMob의 전면 광고
모든 4 버튼 탭을 소개 할 때
문제
, 나는 삽입 광고 전화 온다. 틈새가 (interstitialDidDismissScreen을 통해) 닫을 때, 나는 모달 뷰 컨트롤러에 SEGUE를 수행func interstitialDidDismissScreen(ad: GADInterstitial!) {
self.performSegueWithIdentifier("modalSegue", sender: nil)
}
그러나 데이터가 전달되지됩니다! : 모달 그냥 secondViewController 제목없이로드합니다. 단추 태그를 제공하고 데이터를 전달하는 보낸 사람이 없기 때문에 나는 믿습니다 ... 맞습니까? 또한 보낸 사람 : 시도한 interstitial 대리자 메서드, 하지만 아무것도하지 않았다.
을 나는 사용자가 간질을 일축? 또는이 처리하는 전체 더 좋은 방법이 후 모달 뷰 컨트롤러 이 정보를 전달하는 데 계속 할 수 있습니까? 난로드 간질 필요해 실수로 도청의 가능성이 훨씬 적어지기 때문에 세그 (segue) 이전에 다시 켜십시오.
감사합니다. 추가 설명이나 질문이 필요하면 알려주세요.
도움을 주셔서 감사합니다. 나는 버튼에 조금 붙어있어. 눌러 놨어. 이 정보를 interstitialDidDismissScreen 메소드에 어떻게 전달할 수 있습니까? – Joe
버튼이 코드 또는 IBOutlet 인 경우 보낸 사람 인수로 전달한 버튼이 – pbush25
위의 원래 게시물에서 언급하지 않은 한 가지 : 모든 touchUpInside 이벤트에 연결된 4 개의 버튼이 있습니다 (예 : servicesButton). 나는 스토리 보드에서 이것을했다. 그럼 각 태그를 설정합니다. 4 개의 버튼 모두 같은 로직을 호출하기 때문에 조금 더 깨끗한 코드라고 생각했습니다. – Joe