問題タブ [uicollectionreusableview]

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 投票する
1 に答える
248 参照

swift - セル パス == セクション ヘッダー パスをドラッグするかどうかを決定する

カスタムドラッグアンドドロップを実装しています。セルのコピー(表示用の画像のみ)を作成し、このコピーの場所がヘッダーと同じ場合、ヘッダーの背景色を変更したい、場所が再びヘッダー フレームの外にある場合は、背景色を元に戻します。

私は正しいパスを決定するために立ち往生しています、私はこれまでにこれを得ました:

ロジックに欠けているものは何ですか?

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

ios - Swift UICollectionView ヘッダーが正しく表示されない

UICollectionView のヘッダーが正しく表示されません。ヘッダーに UILabel を 1 つ追加し、セクション番号を表示する必要があります。viewForSupplementaryElementOfKind をデバッグすると、すべて問題ないように見えます。collectionView ヘッダーに関するさまざまなチュートリアルを見てきましたが、コードにエラーが見つかりません。 ここに画像の説明を入力

ここにコード全体があります:

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

ios - 選択したセルが UICollectionView に保持されません。保存できません。*** 例外がキャッチされなかったため、アプリを終了しています

DB からのデータを取り込む UICollectionView があります。ユーザーはさまざまなセルを選択し、ボタンを押して情報を保存します。投稿するデータを取得できません。私は何を間違っていますか?

The logs:

not sure why I get 0 twice first, but the above NSLogs are correct

As you can see from the NSLogs above, the value is getting selected initially and logs correctly but it is not retained (tho it stays highlighted) so that when the user presses the button and calls the register method the values are all null. The information the user has provided can not be saves. The app triggers an alert (or crashes is the check for nil is removed). PostActivity is working and saves as expected to database, but Post for the class Apply breaks.

I've tried a variety of fixes. Errors I get (again when check is commected out) include:

int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }

*** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: 'PFObject のキーまたは値に nil を使用できません。値には NSNull を使用してください。

UICollectionView データソース メソッドが呼び出されないことを試しまし たが、init で設定されています

また、itemCell や itemKeyA などのプロパティを strong または keep (および非アトミック) に変更しました。

UIOutlet/ストーリーボードを再接続してみました

これは nib / xib の問題ですか? それが正しく設定されていることを確認する方法を十分に理解していないことを認めます。

ありがとう

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

swift - コレクションビューの固定ヘッダー セクション セル (補足ビュー)

さて、ここに苦労があります。ヘッダーセクションセルのデフォルトの動作は、コレクションビューフレームの上部に固執することです。掘り下げて、このデフォルトの動作を削除する方法を見つけることができませんでした。それ、共有してください。

これの主な理由は、ヘッダーを collectionView の上に UIView として表示したいので、セクションヘッダーが残りの部分と一緒にスクロールしない場合、UI エクスペリエンス IMO の点でちょっと面倒です。

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

objective-c - 特定の UITableViewCell の再利用を一時的に停止する方法は? (または再利用された場合でも、セルを一意に識別します)

私は現在、セルをタップすると、ネットワーク プロセスの実行中にセルにアクティビティ インジケーターが表示されるように設定しています。完了すると、セルは自動的に UI を更新します。

問題は、これが行われている間、ユーザーがセルを画面外にスクロールすると、現在再利用され、スクロールバックすると、セルはタップ前の UI またはタップ後の UI のいずれかになります (プロセスがユーザーがスクロールしている間に完了しました)。

これにより、実行中のバックグラウンド アクションがランダムに停止したように見えますが、ユーザーの視点ではまだ発生しており、UI が更新されるだけです。

したがって、セルの再利用を一時的に防止する方法に苦労しています。または、再利用後でもセル (およびそのセルのみ) で一貫した負荷インジケーターを維持する方法はありますか?

編集:代わりに表示するデータを保存するという考えはindexPath正しい方向への一歩ですが、順序はおそらく同じですが、同じままであるとは限りません。

したがって、問題は次のようになると思います。プロセスが完了したというデリゲート呼び出しを取得したときに、特定のセルを識別するために一意のものを見つける必要があります。ラベルのテキストは「一意」であるため(99%の確率で...)使用しようとしましたが、「一意の」識別子(ラベル、保証されていないラベル)も渡さない限り、これは機能することが保証されていますユニークであること)私のサポートクラスを楽しいジェットコースターに乗って、まさに最後に使用できるようにします.


私が試したこと

1) 試行:ロード中にセルを NSMutableArray プロパティに配置してセルを保持し、デリゲート メソッドを使用して、セルが終了したらセルを削除します。

結果:効果なし


2) 試み:と呼ばれるUITableViewCell(私はサブクラス化した)にプロパティを追加しますisLoading

結果:正しいセルにインジケーターをロードしていますが、画面外の場合は他のセルもロードしています。

まともに機能しましたが、元のセルが再利用されて作成されたため、他のランダムセルが不思議なことにロードされているように見えるという問題に遭遇しました。


3) 試行: (一意の) セルのラベルのテキストを使用することを除いて、試行 #1 と同じです。

[self.loadingCells addObject:cell.label.text];

結果:正しいセルにのみインジケーターをロードしますが、デリゲート メソッドは、プロセスが終了したときにセルが画面上にない場合、間違ったラベルのテキストを削除しようとし、セルが永続的にロードされているように見えます。


4)次に、デリゲートメソッドに NSString を渡し、それらを比較して正しい文字列を削除しようとしました...これも信頼できない結果をもたらしました。これは、ネットワーク呼び出しを処理するクラスに渡されるセルが静的なままではない可能性があるためだと思います。ラベルのテキストを抽出する呼び出しを行ったときにセルが表示されない場合は、間違っている。

だから私はすぐに NSString を作成し、さまざまなクラスで作成した素晴らしい呼び出しの網を通してそれを渡すことができましたが、これはばかげており、私はすでにこのソリューションを嫌っていました...

0 投票する
0 に答える
971 参照

ios - -layoutAttributesForDecorationViewOfKind の UICollectionViewLayoutAttributes インスタンスがありません

カスタム レイアウトを使用して、UICollectionReusableView のサブクラスを使用していくつかの背景色セクションを取得しています。これはコードです:

このコードは、iOS 8.4.1 スローを使用するデバイスでクラッシュすることがあります。

致命的な例外: NSInternalInconsistencyException -layoutAttributesForDecorationViewOfKindOfKind の UICollectionViewLayoutAttributes インスタンスがありません: パス {長さ = 2、パス = 2 - 0} の AlbumsSectionBackgroundDecoratorView

シミュレーターでは発生せず、iOS 8.4.1 のデバイスでのみ発生します。

何か案は?ありがとう!

編集

このバグは、UICollectionView でバックプレッシャーが発生しているようです。UICollectionView のリロードを回避しましたが、正常に動作しているようです

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

ios - UICollectionView のヘッダーの設定で「switch」ステートメントが機能しないのはなぜですか?

コレクションビューのヘッダーを設定したいので、メソッドを実装しましたfunc collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView

ただし、switchステートメントが機能しないようです。セクションに応じて分岐してヘッダービュー内にラベルを設定しようとしても、すべてのセクションの結果のヘッダービューには、私が書いたすべてのラベルが含まれています。

上記のコードでは、両方のセクションのラベルにABの両方のラベルがあり、互いに重なり合っています。

私の場合、スイッチが機能しないのはなぜですか?

私のコレクションビューのコンテンツはサーバーからデータをフェッチするため、print(indexPath.section)が 2 回実行され、それぞれが01がこの順序で出力されます。

これは問題に関連していますか?