0

광고 배너 지원을 위해 ViewController를 앱에 추가했습니다. 이 응용 프로그램은 UINavigationController를 기반으로하므로 ViewController를 UINavigationController에 대한 하위 뷰로 추가했습니다. 광고 배너의 영역은 사파리에서 광고를 열 때 터치 된 시점을 인식하지 못합니다. 내가 ViewController becomeFirstResponder 만들려고했지만 그 작동하지 않습니다. 누구든지 고칠 방법에 대한 생각을 가지고 있습니까?touch response event ios4

답변

0

당신은 당신이 하위 뷰로 추가 말하지만, 난 당신이 그것이 UIResponder 때문에 이벤트에 응답 할 수 있습니다

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

로보기 컨트롤러를 밀어 의미를 바랍니다. UIView 및 따라서 UIButton, UISlider 등의 대부분의 시각적 컨트롤은 UIResponder에서도 상속 받지만 사용자 상호 작용을 기반으로 특정 동작을 구현합니다.

UIViewController에서 이벤트를 가로 채고 싶다면 touchesBegan/Moved/Ended 이벤트를 처리해야합니다. 보기 콘트롤러에 적어도 UIWebView 또는 UIImageView가있을 가능성이 높습니다. 당신이 링크가 개설되고 있는지 알려드립니다

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

를 구현하는 UIWebViewDelegate가 필요합니다있는 UIWebView 경우

.

UIImageView의 경우 터치 이벤트가 표시되기 전에 userInteractionEnabled 속성을 설정해야합니다.

iAd의 AdBannerView 클래스를 다루는 경우 UIView도 상속되므로 UIImageView에 대한 주석이 적용됩니다. UIWebViewDelegate와 마찬가지로 ADBannerViewDelegate는 빌트인 상호 작용 지원을위한 요구 사항입니다.

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave