だから、私はちょうど標準のUIViewControllerには、PDFを表示するUIWebViewを持っています。アプリケーションの機能については、scrollViewWillBeginDragging、scrollViewDidScrollなどのUIWebViewの入れ子になったUIScrollViewイベントに応答する必要があります。標準のUIViewController内から呼び出されるUIWebViewのUIScrollViewデリゲートメソッドを取得するにはどうすればよいですか?
私がscrollViewにアクセスできる唯一の方法は、内とサブビューアレイによってそれを得る:
for (id subview in webView.subviews){
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
UIScrollView * s = (UIScrollView*)subview;
s.delegate = self;
s.tag = 1;
scrollView = s;
}
}
しかし、それは、私はズームのようなネイティブUIScrollViewのものを失うので、それは、価値があるよりも多くの問題を紹介しているようです。だから私は必要としてるものをまとめるために
:
のUIWebViewの内部UIScrollViewのの代理人として私のUIViewControllerクラスを設定するための最良の方法は何ですか?自分自身のUIWebViewをサブクラス化することで、UIWebViewに組み込まれたイベントを特定の方法で処理し、何とかUIViewControllerに渡す必要があるのですか?とにかくそれはどうやって働くのでしょうか?
お知らせください!
ありがとうございました!
ありがとうございました!私はそれを試して、それは半分の作品です。私が直面しているバグは、すべての12のデリゲートメソッドを実装するとアイロンをかけることができると確信しています。多分愚かな質問かもしれませんが、どのようにすべての方法を返すべきか分かりますか?私はあなたが明示的にオーバーライドする必要がないものを特に意味しますか?私はそれらをすべて実装したいと思いますが、実際の実装手順では(メソッドのシグネチャ実装の後のように)ドキュメンテーションが不足しています。ありがとう! –
2つのUIScrollViewDelegateメソッドが値を返します。そのような場合は、返品内容を返すだけです。 - (UIScrollView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {//あなたのものを返す[originalDelegate viewForZoomingInScrollView:originalDelegate]; }それはあなたが求めていたものですか? – Obliquely
そうですね、12のデリゲートメソッドをすべて実装する必要があると言われましたが、2つしか返さない場合は、自分ですべてを実装するのに何が役立ちますか?私はそれが私が得るものではないと思う... :) –