問題タブ [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.
objective-c - あるUICollectionViewLayoutから別のUICollectionViewLayoutに切り替えるときのカスタムアニメーション?
テストとして、セルを縦に並べて表示するレイアウトと、横に並べて表示するレイアウトを作成しました。私が呼び出す[collectionView setCollectionViewLayout:layout animated:YES];
と、2 つの位置の間で非常にきれいにアニメーション化されます。
私がやりたいのは、最終的に目的地に到着する前に、すべてのビューに画面の周りでいくつかのスピン、ワープ、フリップを実行させることです (おそらく CAKeyframeAnimations を使用)。
UICollectionViewLayoutAttributes
アニメーション プロパティを含むようにサブクラス化してから、使用している のオーバーライドされたapplyLayoutAttributes:
メソッドでそれらのアニメーションを設定しようとしましたUICollectionViewCell
。これは機能します...ただし、レイアウトの移行が完了した後にのみ発生するようです。これを使用したい場合は、オブジェクトの現在の位置をすぐに変更しないようにレイアウトを設定する必要があります。これは、コードのこの適用属性部分に到達した後でのみです。これは大変な作業のように思えます...
または、 をサブクラス化UICollectionView
してオーバーライドすることもできますsetCollectionViewLayout:animated:
が、それはレイアウト間で保持する必要がある多くの状態のようにも思えます。レイアウト内のセルの追加/削除をアニメーション化する簡単な方法があるため、これらのオプションはどちらも正しくないようです。レイアウト 間のアニメーションにフックするために似たようなものがあるべきだと思います。
私が達成しようとしていることを達成するための最良の方法を知っている人はいますか?
ios - ストーリーボードよりも高くレンダリングされた UICollectionView
ストーリーボード (iPad) に UICollectionView があります。私はプログラムでプロパティ (マージン、サイズなど) を設定していません。私のデリゲートは必須メソッド (セクション数とアイテム数、cellForItemAtIndexPath) のみを実装しています。水平スクロール (1 行) の標準的なフロー レイアウトを使用しており、上下のインセットはありません。私はカスタムセルクラスを持っていますが、これもまた特別なことではありません (いくつかのラベルと imageView の IBOutlets だけです)。私のセルは100x100pxです。collectionView の高さは 100px に設定されており、IB ではそのように表示されます。
ただし、アプリを実行すると、コレクションビューが高さ 140 ピクセル (セルの上下に 20 ピクセルのマージン) としてレンダリングされます。すべてのプロパティ (最小間隔を含む) のさまざまな値を試しましたが、ビューを短くすることはできませんでした。インセットを変更することによってのみ、ビューを高くすることができます。
これはバグですか、それとも回避できないいくつかのロジックがありませんか? たとえば、標準レイアウトでは、コンテンツの上下に最小限のスペースが強制的に含まれますか?
uicollectionview - セルの数に基づいて UICollectionView のサイズを変更する
1 UICollection
~ 4 個のセルを含むビューがあり、その下UITextField
はその下に制限されています。
のサイズを変更できるようにしたいUICollectionView
ので、1 つまたは 2 つのセルがある場合、の高さUICollectionView
はこの高さです。それ以外の場合、3 つまたは 4 つのセルがある場合、高さは 2 * セルの高さ + 垂直方向の間隔です。
すべての数学なしでこれを行う簡単な方法はありますか? 制約システムがあるのに、 a のサイズを決めるためにこの面倒な計算をしなければならないのは奇妙に思えますUIView
。
いつもありがとう
objective-c - UICollectionViewFlowLayout の使用時に UICollectionViewCell の境界外に描画する
UICollectionViewCell
セルが境界にクリッピングすることなく、境界の外側に描画できた人はいますか? (水平)を使用するバニラコレクションビューがあり、によって提供されるレイアウトを中断することなくUICollectionViewFlowLayout
、の境界外にパスを描画できるようにしたいと考えています。に設定してもうまくいかないようです。UICollectionViewCell
UICollectionViewFlowLayout
clipsToBounds
NO
objective-c - ストーリーボードで UICollectionViewFlowLayout をサブクラス化する方法
Storyboard で UICollectionView を使用していて、UICollectionViewFlowLayout をサブクラス化しようとしていますが、うまくいかないようです。
サブクラスを作成しましたCollectionViewFlowLayout
:
Storyboard の Identity Inspector で、フロー レイアウトのクラスを変更しました。
しかし、保存/ビルド/実行すると、itemSize が 250 に設定されず、NSLog が出力されません。
このような例では、collectionView コントローラーでレイアウトを設定できることを見てきましたが、ストーリーボードで設定する場合は必要ないと思いました。
iphone - カスタムUICollectionViewレイアウト
実装する必要のあるUICollectionViewレイアウトには、垂直方向に上下に3つのセクションがあり、各セクションは水平方向にスクロール可能です。
セクション1:1 2 3 45.............。
セクション2:1 2 3 45.............。
セクション3:1 2 3 45.............。
UICollectionViewにはscrollViewが1つしかないため、すべてのセクションは一度にスクロールしますが、一度に1つはスクロールしません。したがって、カスタムレイアウトはこの状況では役に立たないと思います。これの他の可能な実装に光を当ててください。
ありがとうございました。
ios - UIWebView のサイズに問題がある UICollectionView
を実装する必要がありUICollectionView
ます。私が使用する細胞は、UIWebViews
それらの中にあります。主な問題は、セルのサイズを webViews 内の実際のコンテンツに合わせたいことです。
次の2つの方法を使用しました。
問題はもちろん、webView がロードされた後にのみそのサイズを認識していることです。
UICollectionViewLayout
webview がそのコンテンツをロードした後にのみ、特定のセルのサイズを調整することは何とか可能ですか?
私が見つけたすべての例は、サイズが固定されているか、コンテンツに合わせてサイズが計算されるまで時間がかかる webViews を使用していませんでした。
これを達成する方法はありますか?
ios - UICollectionViewFlowLayout の奇妙な動作
画像の水平線を表示するために UICollectionView とともに UICollectionViewFlowLayout を使用しています。
アイデアは次のようなものです(3セルのサンプル):
しかし、私は次のようなものを得ています
スクロール後、cell3 は右の位置に移動します。
iPad (横向き) では、セルのサイズは (480,640) で、UIEdgeInsets は (150,150,150,150) です。
何が起こっているのかわかりません。