問題タブ [uicollectionviewcell]

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.

0 投票する
4 に答える
10209 参照

ios - セルに角の半径を設定すると、UICollectionView のパフォーマンスが低下します

UICollectionView数個のセル (約 20 個) しかない があります。このコレクションのパフォーマンスは素晴らしいです。ただし、このビューによってレンダリングされている の角を丸めようとするとすぐにUICollectionViewCells、パフォーマンスが大幅に低下します。私のセルの init メソッドでは、これは私がこれを引き起こすために追加する唯一の行です:

これは init メソッドにあり、セルを適切に再利用しているため、これが原因で問題が発生する理由がわかりません。

次の複数の組み合わせを使用して、販売のラスタライズと不透明度を調整しようとしましたが、まだ効果がありません。

UICollectionView角の丸いセルを持つのパフォーマンスを向上させるための設定またはトリックはありますか?

0 投票する
2 に答える
9119 参照

iphone - iOS サブクラス UICollectionViewCell カスタム init メソッド

カスタム UICollectionViewCell を実装しています。モデル データをセルのサブビューの初期化に使用できるようにモデル データを送信する方法を知りたいです。

MyCollectionViewCell を登録するには、..

そして、次の方法では、私は...

私が直面している問題は、セルが再利用キューにない場合、initWithFrame メソッドを呼び出すことによって新しいセルを初期化することです (これはドキュメントで確認されています)。ただし、MyCollectionViewCell クラスにカスタムの init メソッドがあります。

代わりに、カスタムの初期化メソッドを呼び出す必要があります。どうすればいいですか?私はペン先を使用しておらず、プログラムですべてを行っています。

方法がなく、代わりに initWithFrame メソッドを使用する必要がある場合、モデル データを MyCollectionViewCell に渡して、そのデータでサブビューを初期化するにはどうすればよいでしょうか?

ありがとう!

0 投票する
3 に答える
4746 参照

iphone - カスタム UICollectionViewCell のエラー

をセットアップしようとしていますUICollectionView。最初はbasicを使ってUICollectionViewCellいましたが、うまく動いていて、セルが表示されていました。

UICollectionViewCell次に、セルに画像を表示できるように、独自の collectionViewCell (サブクラス化) を作成しました。ストーリーボードのカスタム セルを識別子にリンクし、適切なクラスも指定しました。

ただし、このエラーが引き続き発生し、理由がわかりません。

にこの行を追加することでバグに対処することができましたviewDidLoadが、チュートリアルでは、私がフォローしていた人はそれを使用していませんでした:

問題は、追加すると、collectionView が黒のままで、データが表示されないことです。

0 投票する
1 に答える
621 参照

ios - UICollectionViewCell サブビュー受信タップ挿入

イメージ、ラベル、ビューなどのコンテンツを含む UICollectionViewCell があります。

この動作を取得したいと思います(通常のセルの反対の動作のように):

  • このセルには、デフォルトで、選択されていないときのようなビュー(不透明度を示すためにアルファが設定された単純な UIView)があります。
  • ユーザーがセルを選択すると、このアルファ ビューを削除する必要があります。

UITapRecognizer をインストールしようとすると:

そしてメソッドの後

タップは self.shadowView から受信されますが、セルには送信されません....

この問題を解決するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
795 参照

ios6 - UICollectionViewCell内にテキストを表示する

私は現在、クリックするとセグエを完了するUICollectionViewCellを使用してUICollectionViewを実装しました。ただし、UICollectionViewCell内にテキストを表示したいと思います。

UICollectionViewCell内にテキストのみを表示し、テキストが押されたときにセグエが発生するようにする(空白のUICollectionViewCellからセグエを実行するのではなく)のが最も簡単な方法は何でしょうか。UICollectionViewCell内でTextViewを使用しようとしましたが、TextViewが押されたときにセグエを実行する際に問題が発生しました。

何かアドバイスをいただければ幸いです。

ありがとう。

0 投票する
2 に答える
3674 参照

uiimageview - uicollectionview didSelectItemAtIndexPath メソッドでセルの imageView を変更する

4 つのセルに imageView を固定した CollectionView コントローラーを作成しました。セルの選択時にimageViewを変更したいと思います。これを手伝ってくれませんか?

ありがとうございました

これが私のコードです

CollectionView コントローラ .m

....

印刷時に画像を変更したいのですが、わかりません...

}

0 投票する
4 に答える
18942 参照

objective-c - UICollectionViewCell パディング

コレクションビューセルにゼロパディングを設定しようとしています。ビューコントローラーで「最小間隔」を次のように設定しました:

ここに画像の説明を入力

それでも、セル間にギャップがあります。

ここに画像の説明を入力

また、フレームの幅に応じてセルがうまく折り返されるようにしたいです。たとえば、各セルの幅は 50 ピクセルなので、6 つのセルがあり、フレームの幅を 150 ピクセルに設定すると、3 行 2 行が表示されます。細胞。

それでも、フレーム幅を 150 に設定すると、次のようになります。

上のスクリーンショットのように見えます (広すぎます)。

10 などの途方もなく小さい値に設定すると、ある程度ラップされます。

ここに画像の説明を入力

UICollectionViewCell は 50 x 50 に設定されています。

ここに画像の説明を入力

また、セルのサイズをプログラムで設定しようとしましたが、UIEdgeInset も削除しました。

干渉があった場合に備えて、自動レイアウトを無効にしました。フレームの幅/高さに応じて、パディングを削除してラップする方法について何かアドバイスはありますか?

0 投票する
1 に答える
472 参照

objective-c - UICollectionViewCellに影を追加すると、スクロールが遅くなります

次のコードをcellForItemAtIndexPathメソッドに追加することで、UICollectionViewCellにシャドウを正常に追加できます。

しかし、それはスクロールを本当に遅くします。スクロール時にセルに影が追加されることは理解していますが、解決策がわかりません。:/

0 投票する
1 に答える
608 参照

iphone - iOS UICollectionView reloadDataは、モデルをViewCellに正しくマップしません

のモデルデータがNSArray変更されていない場合、を呼び出すとreloadDataUICollectionViewセルは別の場所に表示されますか?

NSArrayがObj1、Obj2、Obj3を保持している場合、最初はObj1をUICollectionView最初に正しくマップし、Obj2を2番目にマップします。これは、正しいObjを取得するために使用するためcollectionViewCellの設定方法です。アレイから。cellForRowAtIndexPathindexPath.row

ただし、を呼び出すとreloadData、すべてのオブジェクトが間違ったUICollectionViewCellにマップされます(Obj1は2番目などの別の場所にcollectionViewCell配置され、Obj2は3番目などに終了しますcollectionViewCell)。

なぜこれが起こるのですか?ドキュメントに理由が見つかりませんでした。


さらに、モデル配列が変更されたときに同じ問題が発生します。たとえば、myNSArrayがObj1、Obj2、Obj3の場合、Objsの新しいインスタンスが作成され、NSArrayObj2、Obj3、Obj1などの順序が異なりますreloadData。問題。

Obj2は最初のマップに正しくマップされませんUICollectionViewCellが、代わりに別のマップにマップされますUICollectionViewCell

なぜこれが起こるのか誰もが知っていUICollectionViewsますか?

ありがとう!

編集:コードcellForRowAtIndexPath

0 投票する
3 に答える
1698 参照

ios - UICollectionViewのヘッダーまたはフッターの特定のインスタンスにアクセスするにはどうすればよいですか?

collectionView:cellForItemAtIndexPath:いつでもそのセルを変更するために、たとえばそのラベルを更新するために、特定のセルを取得するために呼び出すことができます。私は、メソッドでUICollectionViewはなく、のクラスインスタンスメソッドについて話していますUICollectionViewDataSource

ただし、ヘッダー/フッターに同様の方法はないようです。collectionView:viewForSupplementaryElementOfKindすでに割り当てられているインスタンスを提供する代わりに、ヘッダー/フッターの一意のインスタンスを返します。このため、ラベルを更新する(たとえば)ためにヘッダーへのポインターを取得できません。セクションをリロードして、collectionView:viewForSupplementaryElementOfKindメソッドの本体で変更する必要があります。

カスタムオブジェクトキャッシュやタグを使用せずに、特定のヘッダー/フッターへのポインターを取得する適切な方法はありますか?