2016-12-04 6 views
0

PartiesTableViewController:TableViewセルにUIDatePickerを追加するにはどうすればよいですか?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
{ 
     let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "test") 

     cell.textLabel?.text = party.lists[indexPath.row].name 

     //----------how do we add UIDatePicker in the cell??---------- 

     cell.detailTextLabel?.text = party.lists[indexPath.row].address 

     return cell 
} 

AddPartyViewController:

@IBAction func save(_ sender: UIButton) 
{ 
    print("save clicked \(nameTextField.text)") 

    party.lists.append(list(name: nameTextField.text!, address: addressTextField.text!, startDate: datePicker.date)) 

    self.view.endEditing(true) 

    self.dismiss(animated: true, completion: nil) //when button clicked, go back to front page, which is PartiesTableViewe 
} 

パーティー:

import UIKit 

var party: Party = Party() 

struct list 
{ 
    //var id:String 
    var name:String 
    var address:String 
    var startDate:Date 
} 
class Party: NSObject 
{ 
    var lists = [list]() 

    func addParty(name: String, address: String, startDate: Date) 
    { 
     //lists.append(list(date:date, name: name, address: address)) 
     lists.append(list(name: name, address: address, startDate:startDate)) 
    } 
} 

読みいただき、ありがとうございます!私はSwift 3にはとても新しく、UIDakePickerを使ってToDoリストに取り組んでいました。私はUIDatePickerをtableviewセルに追加することに苦労していました。 "cell.textLabel?.text = party.lists [indexPath.row] .name"と "cell.detailTextLabel?.text ="を使用してパーティ名とパーティアドレスを追加できました。パーティー。リスト[indexPath.row]。アドレス "。

名前がセルに表示され、アドレスが同じセルの名前のすぐ下に表示されます。私はAddPartyViewControllerでUIDatePickerによって選択された日付をテーブルビューのセルの名前のすぐ隣に表示しようとしていたので、それらの3つすべてが同じセルにあります。

ありがとうございました!

答えて

0

テーブルビューにテキストフィールドを追加します。コードで日付ピッカーを作成し、そのテキストフィールドの入力ビューに与えます。

datepicker = [[UIDatePicker alloc] init]; 
datepicker.timeZone = [NSTimeZone defaultTimeZone]; 
datepicker.datePickerMode = UIDatePickerModeDate; 
[datepicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; 
//In datepickerValueChanged function do the things to update your textfield. 
関連する問題