2016-12-04 52 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一起完成待辦事項列表。我很努力地將UIDatePicker添加到tableview單元格中,並且我能夠通過使用「cell.textLabel?.text = party.lists [indexPath.row] .name」和「cell.detailTextLabel?.text ='來添加派對名稱和派對地址。 party.lists [indexPath.row]。地址」。

名稱出現在單元格中,地址出現在同一單元格的正下方。我試圖顯示由UIDatePicker在AddPartyViewController右邊的tableview單元格中的名稱旁邊選擇的日期,因此它們全部3個都在同一個單元格中。

謝謝你的幫忙!

回答

0

在tableview中添加文本字段。通過代碼創建日期選擇器並將其提供給該文本字段的輸入視圖。

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. 
相關問題