私はUICollectionView
がカレンダーです。スクロール可能な1行です。その日付のデータがないため、一部の日付は選択できません。他のものはその日付のデータがあるので選択可能です。コレクションビューを停止してアイテムの選択を解除する
日付が選択されると、カレンダーは選択された日付に下線を引いて、UICollectionView
の中心にスクロールします。これは、これらのセルが選択されて停止し
override func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {
return //is there data for the date at this indexPath?
}
私はこの機能を持っている日付を持っていない日がタップされる
は... ...しかし、それはまだ以前に選択したセルの選択が解除されます。
shouldDeselect
機能がありますが、これはタップしたセルのインデックスがわからないため使用できません。だから私は、項目を選択解除する必要があるかどうかを判断することはできません。
これを行うには良い方法がありますか?
あなたは 'collectionViewを設定してみてくださいました.allowsMultipleSelection'をtrueにしますか? – ebby94
@ ebby94 1回の選択だけが許されるので、私はそれをしませんでした。私が抱えている問題は、アイテムを選択すべきではなく、以前に選択したアイテムを選択解除しているということです。 – Fogmeister
これを復活させるのは嫌ですが、最近私はXamarin iOSでこの問題を抱えていました。これをAllowsMultipleSelectionをTrueに設定するのが最も簡単な方法でした。コードの残りの部分はクリアされ、選択された単一の項目が設定されるため、「複数選択された項目」が発生することはありませんでした。私のユースケースは、CollectionViewをベースとしたカスタムカレンダーコントロールであり、上部のMTWTFSSは選択可能ではなく、以前に選択した項目には影響しません。これは完全に私のために働いた。 – Adam