2017-01-05 4 views
2

現在、私は最初のiOSアプリケーションであるToDo Plannerを開発中です。ここにそのレイアウトがあります。1つのUIButton、UILabel、UITextFieldをすべての入力を制御する方法

Layout

今、私はそれが各行が独自のテキストフィールド、ボタン(チェックマークが付い円)、及びラベル(ストライクラインを)持っていることに設定しています。

if(textField == textField1) // if the first text field is pressed 
    { 
     let image = UIImage(named: "To Be Completed Circle.png") 
     button1 = UIButton(frame: CGRect(x: 340, y: 56, width: 30, height: 30)); 
     button1.setBackgroundImage(image, for: UIControlState.normal) 
     self.view.addSubview(button1) 
     button1.addTarget(self, action:#selector(self.pressCheck), for: .touchUpInside) 

    } 

そして、この:このよう

if(button == button1) // if first button was pressed 
    { 
     button1.setBackgroundImage(image, for: UIControlState.normal) //set image to be of circle with checkmark 
     button1.removeTarget(nil, action: nil, for: .allEvents) //remove old target action 
     button1.addTarget(self, action:#selector(self.pressUnCheck), for: .touchUpInside) //add new target action for removing checkmark 
     self.view.addSubview(button1) 
     textField1.textColor = UIColor.gray //change textfield to a gray color 

     label1 = UILabel(frame: CGRect(x : 34, y : 70, width: 200, height: 2)) //add the strike line through textfield 
     label1.backgroundColor = UIColor(patternImage: labelImage!) 
     self.view.addSubview(label1) 

    } 

は、ボタン1のLabel1は、すべての入力の最初の行に対応してテキストフィールド1。 Button2 Label2 textfield2など...

テキストフィールドはインターフェイスビルダーを使用して作成され、ボタン/ラベルはプログラムによって作成されました。すべてのユーザー入力を制御するために1つのボタンと1つのテキストフィールドを使用する方法があるかどうかは疑問でした。ボタンとラベルは基本的に同じものになります。

私があまりにも明確でないかどうか教えてください。

答えて

0

これは本当にTableViewを使用する必要があります。 これは、あなたが望む要素でテーブルの1つの行を設定し、あなたが求めている方法でそれらを再利用できるようにします。

2

TableViewは、各行にカスタムセルを使用できます。 1つのセルは、必要なLabel,TextFieldおよびButtonで設計できます。ストーリーボード自体で、tableViewのプロトタイプセルを使用して作成することができます。

+0

私はTableViewまたはtableViewControllerを使用しますか?または両方? – brownmamba

+0

あなたのページにリスト以外のUI要素がないので、 'TableViewController'を使うことができます。 –

0

UITableViewCellクラスのnibファイルを作成して、Textfieldラベル、ボタンを使用して1つのセルを設計する必要があります。そして、あなたはストーリーボードにUITableviewを使用し、その後にそのペン先をロードする必要があります。

+0

前にnibファイルを聞いたことがありません。この場合にどのように使用するかに関するヒント/それらは何ですか? – brownmamba

+0

XIBファイルを作成する方法は次のとおりです。 FILE> New> file> cocoa Touchクラスを選択します。 UITableViewCellクラスを選択し、XIBファイルも作成することを忘れないでください。 –

関連する問題