2017-11-14 4 views
1

私はモバイルアプリケーションのために働いています。選択した連絡先のpdfを送信しますので、ユーザーはすべての連絡先リストを持つテーブルビューを開くために連絡先ボタンを追加します。その後、ユーザーは完了ボタンをクリックします。ユーザーが選択した連絡先を表示するためにtextFiledを持つ別のビューがあります。私は、ユーザーがテキストから名前を削除する場合は、バックスペースでファイルを取得し始めて、enter image description hereswift 3 textから大量のテキストを取り除くファイル

すべての名前を削除し、IDをサーバーに送信する配列からidも削除する必要があります。 私のコードは

let idArray = ["1","2","3","4"] 
let valueArray = ["Ahmad","ali","jean","sara"] 
let StringVar = "" 

//*Here I send the array to string to append "," to be showed in textFiled* 
for item in valueArray { 
      print("Found \(item)") 
      StringVar = StringVar + item + "," 
     } 

textFiled?.text = StringVar 

ですよね?

答えて

1

私はそのようなことを以前に実装していませんでした。しかし、私はtextField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String)UITextFieldDelegateから試してみたと思います。 ユーザーが文字を削除しようとすると、2つのカンマの間の文字列全体を削除することができます。最初の/最後のカンマから文字列の先頭/末尾までを削除できます。

2

文字列解析の頭痛このタイプの仕事。 あなたの人のリストのための水平なUICollectionViewです。このcollectionViewのセルには、境界線UITextView(または読み込み専用の場合はUILabel)と、個々の人物ごとにアクションを削除するclose(x)アイコン付きの小さなUIButtonがあります。

Designerは、次のようになります。 enter image description here

このビューには、あなたの配列と互換性のある方法で動作します。それは削除

後collectionViewをリロードすることを忘れないでください
extension YourViewController: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { 

public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
    return self.personList.count 
} 

public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = personCollectionView.dequeueReusableCell(withReuseIdentifier: "personNameCell", for: indexPath) as! personNameCell 
... 
} 

2 - のUITableView

たかのように配列して

の1-バインドcollectionView:ここ

はあなたに注意を払う必要がありますものです

func personDeleteButtonPressed(sender: UIButton!) { 
    //remove item from your list 
    ... 
    ... 
    personCollectionView.reloadData() 
} 

3セルの寸法を動的に設定する。

func collectionView(_ collectionView: UICollectionView, 
        layout collectionViewLayout: UICollectionViewLayout, 
        sizeForItemAt indexPath: IndexPath) -> CGSize { 
... 
+0

次のステップでは、ユーザーがテキストファイルに名前を入力させ、コードから連絡先リストを検索してテキストで表示させるので、この解決策はできません –

+0

もちろん、あなたの選択はあなたのものです。 しかし、内部のセルには編集可能なtextFieldがあります。したがって、これらの文字列はすべてcollectionViewまたは特定のループのループで取得できます。その後、マージ、分割、新規追加、削除ができます。結果として、このcollectionViewで必要な文字列を取得し、必要な処理を実行したり、別のtextFieldを検索したりすることができます。 – missionMan

関連する問題