3

編集:この問題の核心は、プログラムによるスクロール中にスクロールインジケーターが表示されないことですが、表示してほしいです。私の元の質問(以下に記載)は、これが と関係があると想定していましたがuserInteractionEnabled、そうではありません。マスターとスレーブの UIScrollView についての言及は、私の中心的な問題 (プログラムによるスクロール中にスクロール インジケーターを表示する必要がある) から気をそらす可能性もあります。私の誤解を招く仮定/情報に基づいて回答またはコメントした方にはお詫び申し上げます。

考えられる解決策:これを行う唯一の方法は、スクロール インジケーターが のインスタンスでUIImageViewあり、カテゴリを使用してアルファをハックするという事実を利用することでした。この記事では、アプローチを示します。次に、タグとスクロール ビュー デリゲート メソッドを使用して、プログラムによるスクロールの前にアルファを永続的にオンにし、スクロールが終了したら永続的にオフにするケースでした。これはハッキリしているように感じますが、さらなる提案は大歓迎です!

この行の下はすべて、ユーザーの回答とコメントにコンテキストを提供するための元の未編集の質問です。

プログラムによるスクロール時にスクロール インジケーターを無効にするuserInteractionEnabledには、UIScrollViewオブジェクトをappear に設定します。NOこれは、持っている場合でも発生しますself.showsVerticalScrollIndicator = self.showsHorizontalScrollIndicator = YES;

プログラムでスクロール ビューをスクロールする方法はありますが、インジケーターは表示されますか?

(いくつかのコンテキストを提供するために: スクロールビュー デリゲート コールバックを接続し、コンテンツ オフセットをスレーブ スクロールビューに渡すことによって、マスター スクロールビューを模倣するスレーブ スクロールビューがあります。ただし、ユーザーがスレーブを直接操作できるようにしたくありません。 scrollview ですが、スクロール インジケーターが必要です)。

4

2 に答える 2

0

userInteractionEnabledをfalseに設定する代わりに、UIScrollViewのscrollEnabledプロパティをfalseに設定してみてください。ドキュメント。「スクロールが無効になっている場合、スクロールビューはタッチイベントを受け入れません」と表示されます。これは、UIScrollViewをプログラムでスクロールできるはずであることを意味します。これがお役に立てば幸いです-テストしませんでした。お知らせください。

于 2013-01-31T19:00:36.450 に答える
0

スクロール ビューに透明な UIView (alpha == 0.0) を配置してみてください (ただし、サブビューとしてではなく、ビュー階層の兄弟として)。透明なビューで touchesEnabled を YES に設定すると、スクロール ビューのタッチ見出しがインターセプトされます。

于 2013-01-31T19:07:43.187 に答える