問題タブ [uicollectionviewlayout]
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 - UICollectionView: 新しいレイアウトとターゲット コンテンツのオフセットを設定します
のUICollectionView
と 2 つのサブクラスがありUICollectionViewFlowLayout
ます。セルが選択されたらsetCollectionViewLayout:animated:
、レイアウトを切り替えるために呼び出します。トランジションが完了すると、選択したセルが中央に配置されますが、これで問題ありません。
セルを実際に選択せずに、同じセンタリング動作を実行できますか? さまざまなメソッドを呼び出そうとしましたがsetContentOffset:animated:
、成功しませんでした。contentOffset
または、表示するレイアウトに自己定義を指定できますか?
selected
より明確にするために、セルのプロパティを変更せずに次のようにしたいと思います。
編集#1
これは私がすでに持っているものです:
問題ないようです: https://www.dropbox.com/s/9u6cnwwdbe9vss0/17249646-0.mov
しかし、スキップするとselectItemAtIndexPath
:
これはそれほど細かいものではありません (手を振るアニメーションのようなものです): https://www.dropbox.com/s/s3u2eqq16tmex1v/17249646-1.mov
objective-c - UICollectionViewFlowLayout の layoutAttributesForItemAtIndexPath は、「早すぎる」と呼ばれると nil を返します。
私のセットアップ: フロー レイアウトの標準 UICollectionView。データソースはコントローラーに設定されています。レイアウトは xib ファイルで通常どおりに構成されます。コントローラの viewDidLoad メソッドで layoutAttributesForItemAtIndexPath: を介してセルのレイアウト属性にアクセスしようとすると、次のようになります。
出力は
レイアウトには、正しいレイアウト属性を提供するために必要なすべての情報が含まれています。viewWillAppear: ではまだ機能しませんが、viewDidAppear: では「魔法のように」機能し始めます。
それを機能させるための非常に奇妙な方法を発見しました。レイアウト属性を要求する前に、collectionViewContentSize にアクセスするだけです。
出力は、ずっと予想どおりです。
ここで何が起こっているのですか?コンテンツのサイズにアクセスすると、レイアウトで何かがトリガーされると思いますが、これを行う適切な方法があるかどうかは誰にもわかりませんか? それとも、これは単なる迷惑なバグですか?
ios - サイズの異なるアイテムを含む UICollectionViewFlowLayout
実行時UICollectionView
にアイテムの高さを変更できる場所があります。問題は、アイテムが他のアイテムよりも高い場合、そのアイテムが多くの空白に囲まれることです。
これを作成するプロパティを探しています:
UICollectionView
githubの例やサードパーティの実装ではなく、使用したい。ありがとう。
ios - iOS - UICollectoinView - 親ビューを子 UICollectionView にシームレスにスクロールさせる方法
カスタム無限グリッドUICollectionViewの上に約1〜2ページ分のコンテンツを配置し、すべてをシームレスにスクロールさせる最良の方法は何だろうか?
この時点で、グリッドの上のすべてのコンテンツを collectionView の補足ビューにすることを検討しています。それが最善の方法ですか?本当にコレクションの一部ではないコンテンツを collectionView の外に置く方が良いように思えます。
おそらく、親 scrollView と子 collectionView の間でスクロール イベントを共有するためのより良い方法があるでしょうか?
objective-c - UICollectionView は、performBatchUpdates で最大 10 秒間メイン スレッドをロックします。
NSFetchedResultsController によって駆動される、300 セルのコレクションビューがあります。すべてのオブジェクトが頻繁に更新されるため、その旨を通知するデリゲート メッセージを受け取り、テーブルビューと同様にコレクション ビューで更新を処理します。残念ながら、これが発生するたびにメインスレッドが数秒間ロックされます...理由はわかりません。これが私のコードです:
何が起きてる?一度に 300 個のオブジェクトすべてが更新されることは、アプリの実際の実行では常に発生するわけではありませんが、心配する必要があるほど十分です。ストック UICollectionViewFlowLayout を使用しています - もっとカスタムする必要がありますか?
iphone - カスタムレイアウトのUICollectionView - プログラムで補助ビューを追加する方法/場所は?
ストーリーボードで定義されたカスタム レイアウト クラスで UICollectionView を使用して、Circle Layoutの例を使用しています。
カスタム レイアウトを使用するコレクション ビューに補足ビューを追加する方法について、何らかのチュートリアルや段階的な説明はありますか?
コレクション ビューの紹介の例を見てきましたが、そのプロジェクトで補足ビューがどのように定義されているかを本当に理解できません。それらはフロー レイアウトを使用して絵コンテに登録されているようですが、そのプロジェクトのその後のレイアウト変更が補足ビューをどのように移動するかについて途方に暮れています。
ios - フロー レイアウトの UICollectionView セルの境界線
UICollectionView を使用して、タイトルの最初の文字で区切られた一連のセルをレイアウトしています。各セルには非常に細い境界線があり、セクション ヘッダーには上下に境界線が必要です。これが私の現在のプロトタイプです:
次のルールで現在の外観を実現します。
- 各セルの右端と下端をストロークします。
- 各セクションの見出しの下端をなでます。
これは私が望むものに非常に近いですが、2 つの欠陥があります。
- セクション見出しの前の行がいっぱいでない場合、見出しの上部に沿った境界線は画面の右端の手前で止まります。
- このスクリーンショットには表示されていませんが、行がいっぱいの場合、行の最後のセルの右側の境界線がまだ描画されているため、画面の端に対して少し奇妙に見えます.
これを修正するための私の最善のアイデアは、各セルがセクションの最後の行にあるか、行の最後のセルにあるかをどうにかして伝えることです。次に、セルは問題のある境界線をオフにし、セクションの見出しは上部の境界線と下部の境界線を描画し、すべてがハンキードーリーになります。しかし、それを達成する方法はわかりません。
それを管理する方法、または私が目指している外観を得る別の方法について何か考えはありますか? 現在、UICollectionViewFlowLayout を使用しています。
ios - UICollectionView ヘッダーおよびフッター ビュー
私は UICollectionView を使用しており、セクション ヘッダーと共にグローバル ヘッダーとフッターが必要です。グローバル ヘッダーとフッターの両方が、残りのコンテンツと共にスクロールすることになっています。基本的に、これらは UITableView の tableHeaderView および tableFooterView プロパティとまったく同じように機能するはずです。
私が理解していることから、補足ビューは特定のセクションの上または下にあり、装飾ビューは機能しません。グローバル ヘッダーとフッターには、インタラクティブな要素が必要です。
数時間試した後、私は本当に髪を引っ張っています。contentInsets をハッキングしたり、コレクションビューにサブビューを追加したりするなど、いくつかの厄介な方法を見つけました。私が本当に探しているのは、これを行うためのクリーンな方法です。
アドバイスをお待ちしております!