コレクションビューを使用してログイン/登録ページを作成しようとしています ユーザがログインセグメントコントロール を選択したときに上位4行を削除し、私はこれらの4行を再追加し、それに応じてコレクションビューのサイズを変更したいと思っています。 と私はまた、これらの行を追加 - 削除するときにユーザーが電子メールのテキストフィールドに入力したテキストを維持できるようにしたい。 Main Screenコレクションビューのトップローを表示/非表示
iはインデックスパスで、削除アイテムを使用しようとしましたが、再度トップ だから私は、代わりにセグメント制御値を削除するが、変更の真= .ishiddenを使用しようとした時にそれらを入力する方法を見つけ出すことができませんでしたテキストフィールド内に入力されたテキストを繰り返し、異なるセル内に配置します。たとえば、非表示のセルがあるログインページにあり、電子メールテキストフィールドに「Hello」と入力した場合は、「登録」をクリックし、フォームが表示され、「姓」テキストフィールドに「Hello」というテキストが表示され、私がログインと登録の間で切り替え続けるなら、テキストフィールド。
私はcollectionView高さの制約が一定の変更、およびcollectionView.contentInset.Topのためのマイナス値を設定することにより、以下の Login Screen のように見えるようにログイン画面を作るしようとしたとき、私が直面してる他の問題は、ある、それはありません私はそれが欲しいので表示されますが、一度登録を選択すると、完全なフォームがロードされず、このようになります。 partial register
セグメント制御の変更のための私のコードは以下の通りです:
@objc func handleLoginRegisterChange() {
if LoginRegisterSegmentControl.selectedSegmentIndex == 0 {
LoginRegisterButton.setTitle("Login", for: .normal)
//collectionView.reloadData()
collectionView.cellForItem(at: IndexPath(item: 0, section: 0))?.isHidden = true
collectionView.cellForItem(at: IndexPath(item: 1, section: 0))?.isHidden = true
collectionView.cellForItem(at: IndexPath(item: 2, section: 0))?.isHidden = true
collectionView.cellForItem(at: IndexPath(item: 3, section: 0))?.isHidden = true
collectionView.contentInset.top = -160.6
collectionViewHeight.constant = 80
}
else if LoginRegisterSegmentControl.selectedSegmentIndex == 1 {
LoginRegisterButton.setTitle("Register", for: .normal)
collectionView.cellForItem(at: IndexPath(item: 0, section: 0))?.isHidden = false
collectionView.cellForItem(at: IndexPath(item: 1, section: 0))?.isHidden = false
collectionView.cellForItem(at: IndexPath(item: 2, section: 0))?.isHidden = false
collectionView.cellForItem(at: IndexPath(item: 3, section: 0))?.isHidden = false
collectionView.reloadData()
collectionView.contentInset.top = 0
collectionViewHeight.constant = 240
}
}
私customCellはこれだけであるテキストフィールド
を持ってどのように私のセットアッププレースホルダ
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let customCell = collectionView.dequeueReusableCell(withReuseIdentifier: customeCellIdentifier, for: indexPath) as! CustomCell
customCell.textField.placeholder = signUpPlaceHolders[indexPath.row]
return customCell
}
とsignUpPlaceHolder配列は:
let signUpPlaceHolders = ["First Name", "Last Name", "Company Name", "Phone", "Email", "Password"]
私はSwiftの初心者であり、コレクションビューを把握しようとすると、あなたの助けが高く評価されます。