質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.38%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

6205閲覧

【iOS, Swift】UIRefreshControlの引っ張る距離について

Kesth

総合スコア83

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2016/06/04 14:57

こんばんは。
タイトルの件ですが、よくUItableViewなどど一緒に使用するUIRefreshControlについて質問です。
UIRefreshControlは下に引っ張って引っ張り切った時にイベントが発生してデータの更新を行ってくれますが、コードでこの引っ張る距離を短くすることは可能なのでしょうか?
デフォルトだと更新までに必要な引っ張る距離が長く感じてしまい、UX的にあまりよろしくないと感じています。
できればこの引っ張る距離を短く制御できれば、ユーザー側の負荷も減るので、この方法があれば教えて頂ければとても助かります。
ご存知の方いらっしゃいましたら、お待ちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

http://stackoverflow.com/questions/16360988/uitableview-dragging-distance-with-uirefreshcontrol

http://stackoverflow.com/questions/12710755/uirefreshcontrol-in-landscape
が参考になると思います。

引っ張る距離は、テーブルビュー全体の高さと関係しているようです。
もし、リフレッシュ開始までに画面の半分以上引っ張らないといけない状況であれば、
テーブルビューの高さが、端末のサイズよりも大きいサイズになっていないか確認してみてください。
試しにテーブルビューの高さを2000にしてみたら、画面の一番上から一番下まで引っ張ってもリフレッシュ開始になりませんでした。

また、標準の引っ張り距離よりももっと短い距離でリフレッシュしたい場合は、scrollViewDidScrollを実装し、tableViewのcontentOffset.yが一定値以下になったら強制的にリフレッシュするように実装すればよいようです。
ただし、この場合引っ張り中のアニメーションが途中の状態で突然リフレッシュ開始するようになるため、この動作では満足できないかもしれません。
その場合は、引っ張り中のアニメーションを自作する必要があるかもしれません。
UIRefreshControlのアニメーションを自作する方法は、
http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/
が参考になると思います。

あとは、
https://www.cocoacontrols.com/search?q=refresh
で自分の要件に合うものを探したら、何かよいものが見つかるかもしれません。

投稿2016/06/05 15:32

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kesth

2016/06/08 13:27

助かりました!ありがとうございました。
guest

0

で自分の要件に合うものを探したら、何かよいものが見つかるかもしれません。

https://iosexample.com/

投稿2020/03/25 14:24

AlexSunny

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.38%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問