問題タブ [contentoffset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 任意の場所をクリックすると UIScrollView の contentOffset がリセットされる
私の iOS アプリにはスライド ビュー ページャー タイプの紹介があり、最後のページには 2 つのテキスト入力があります。左から右にスワイプするスクロールビューに 7 ページが表示されているため、キーボードが表示された最後のページで contentOffset を変更してレイアウトを押し上げ、テキスト入力がキーボードの上に表示されるようにしています。ユーザーが次の入力を選択するか、ページのどこかをクリックするたびに、contentOffset がリセットされ、入力がキーボードの下に戻されます。ユーザーはクリックしてキーボードをリセットし、2 番目にクリックする必要があります。入力して情報を入力します。これは非常に直感的であり、リセットを停止する必要があります。
これを達成する方法はありますか?私は多くのことを検索しましたが、多くの人が以前に問題を抱えているのを見たにもかかわらず、それを修正する方法について明確な答えを持っている人はいません...ありがとう!
を使用したコード
ContainerViewController はコード処理であり、コントローラー内の 1 つの UIScrollView にさまざまなビューを設定して、スワイプ ページの紹介を行うことに注意してください。
ユーザーの「タッチ」をキャプチャし、オフセットが (0,0) のようにリセットされるのを防ぐ方法はありますか?
ios - iOS UIScrollView/UITableView contentOffset は、pushViewControllerAnimated 時にリセットされます:
私はその としてUIViewController
aを持つ単純なものを持っています。テーブルビューを非表示にするオプションが必要です。これは正常に機能しています - headerView の高さでコンテンツのオフセットを調整でき、すべて問題ありません。ただし、(プッシュにより) 新しい VC に移行しようとすると、移行アニメーション中に tableView の contentOffset が {0,0} にリセットされ、基本的にヘッダー ビューが表示されます。UITableView
view
subview
tableViewHeader
contentOffset
新しい VC が画面に表示されるまで tableViewを保持する方法はありますか?
tableView の contentSize がスーパービューの境界よりも大きい場合 (つまり、フレームが表示できるよりも多くのセルがある場合)、contentOffset
がリセットされないことに気付きました。self.tableView.contentOffset.y
私はatのログを持っていますviewDidDisappear
- 最初のインスタンスで (contentSize が小さい場合) - ログが印刷されます。0
そうでない場合は、印刷44
されます (これは期待値です)。?
アップデート:
必要な contentOffset 値を inviewWillLayoutSubviews
または inに設定するとうまくviewDidLayoutSubviews
いくようですが、このようにすることの意味はわかりません。残念ながら、これは iOS 7 では機能せず、期待される動作は iOS 8 でのみ実現されます。
ios - uitableview を画面外にドラッグ
私は基本的にこの効果を達成しようとしています: http://youtu.be/VBW2i0P11iI
テーブルビューは、自動レイアウトでスーパービューに固定されている基本的なものです。下のビューは従来の insertSubview:belowSubview: / addChildViewController コンボで追加されます。
私はいくつかのアプローチを試しました。私が今持っているものは次のとおりです。
だから私は基本的に contentOffset のデルタに基づいてトップの制約を変更しています。これに関する問題は、uitableview が跳ね返るため、常に if の最初のブランチに入ることです。しかし、この問題を解決したとしても、パッチを当てるだけのような気がします。同じ応答性を持つビデオで効果を達成するためのよりエレガントな方法があると確信しています。
どんな提案でも大歓迎です。ありがとう
ios - UIScrollViewDelegate メソッドで UICollectionView contentOffset を取得する
今までに見たことのない奇妙な問題に遭遇しています。scrollViewDidEndDragging
UICollectionView の contentOffset を使用して、メソッドでいくつかの計算を実行しようとしています。ただし、contentOffset は {0,0} として返されています。説明のために、メソッドとコンソール ログを次に示します。
ご覧のとおり、基になる UICollectionView は {144.5, 0} の contentOffset を出力していますが、contentOffset に直接アクセスしようとすると 0.000000 0.000000 が出力されます。何か案は?
ios - contentViewをスクロールする前にscrollviewのフレームを上に移動するには? (scrollViewが画面中央から起動した場合)
私のスクロールビューは画面の垂直方向の中央にあり、view1 はその上、y=0 にあります。
下にスクロールすると、view1 が拡大されます (これは正常に機能し、ズームが作成されます)。上にスクロールすると、scrollView を画面の上部 (y=0) に移動し、そこでのみ通常のスクロールを開始して、残りの contentView を表示します。そのため、y=0 に到達するまで contentView をスクロールしないでください。
どうすればそれができますか?
問題は次のとおりです。上にスクロールすると、contentView がスクロールします。したがって、フレームが上がるため、contentViewを確認する方法がわかりませんが、同時にcontentViewも表示されます。
スクロールする方法は次のとおりです。
ios - reloadRowsAtIndexPaths は、テーブル ビューの contentOffset を更新します。
テーブルビューから特定の行をリロードしようとしていますが、リロード後にテーブルビューの contentOffset が (0, 0) にリセットされます。reloadRowsAtIndexPathsを追加しようとし[tableview beginUpdates]
ましたが、動作は変わりませんでした。[tableview endUpdates]
ここで質問されましたreloadRowsAtIndexPaths を呼び出すと tableView contentOffsetが削除されますが、問題は解決しませんでした。アニメーションはこの動作とは何の関係もないと確信しています。テーブルビューの行をリロードしながら、テーブルビューのコンテンツ オフセットを維持する方法がわかりません。
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
ios - UITableView の UIScrollView での ContentOffset の問題
UITableView の各 UITableViewCell に UIScrollView を追加しました。
これは私のコードです。
1 つの UIScrollView (Paging Enabled) に 10 個の UIButton を追加しています。
問題は、UITableViewCell のスクロールビューのいずれかをスクロールして一番下のセルに移動すると、他の UITableViewCell のスクロールビューもそのコンテンツ オフセット ポイントまでスクロールされていることがわかります。
すべての UITableview セルの UIScrollView を個別にスクロールしたい。どうすれば達成できますか?この問題を解決するのを手伝ってください。
ios - iOS UITableView コンテンツ オフセットが iOS7 で機能しない
私のアプリでは、のヘッダーに検索バーがありますUITableView
。UITableView
検索バーを非表示にするためにコンテンツ オフセットを my に設定しようとしましたが、いくつかの問題が発生しています。
最後に、私はこのように解決しました:
問題は、iOS 8 でしか機能しないことです。
iOS 7 と 8 の両方で正しく動作するようにするにはどうすればよいでしょうか????
私の下手な英語でごめんなさい。前もって感謝します。