0
날짜 선택 도구 위의 행을 클릭 할 때마다 필자의 날짜 선택 도구가 숨길 수 없습니다. 오히려 행을 클릭하면 처음에는 무언가를 클릭 할 때와 같이 어두운 회색으로 강조 표시됩니다. 왜 이런 일이 일어나는 걸까요? 내 datePicker가 숨기지 않는 이유는 무엇입니까?왜 내 DatePicker가 숨기지 않습니까?
class TableViewController: UITableViewController {
@IBOutlet weak var detailLabel: UILabel!
@IBOutlet weak var datePicker: UIDatePicker!
private var datePickerHidden = false
override func viewDidLoad() {
super.viewDidLoad()
datePickerChanged()
self.tableView.backgroundColor = UIColor.lightGray
}
@IBAction func valueChanged(_ sender: UIDatePicker) {
let formatter = DateFormatter()
formatter.dateStyle = .short
formatter.timeStyle = .short
detailLabel.text = formatter.string(from:sender.date)
}
func datePickerChanged() {
detailLabel.text = DateFormatter.localizedString(from: datePicker.date, dateStyle: DateFormatter.Style.short, timeStyle: DateFormatter.Style.short)
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if indexPath.row == 0 {
toggleDatepicker()
}
tableView.deselectRow(at: indexPath as IndexPath, animated: true)
}
private func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if !datePickerHidden && indexPath.row == 1 {
return 0
}
else {
return 100
}
}
private func toggleDatepicker() {
datePickerHidden = !datePickerHidden
tableView.beginUpdates()
tableView.endUpdates()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}}
의견이 있으십니까? 이 같은
이동'datePickerHidden = datePickerHidden' tableView.beginUpdates'후()'!. 'datePickerHidden'가'true'로 초기화되면 작동하는지 확인하십시오. – byJeevan
나는 이것을 시도했지만 행운이 없었습니다 –
어떻게 피커를 보여 주나요? tableview의 첫 번째 행을 클릭하면'toggleDatepicker' 만 호출됩니다. 귀하의 코드는 다음과 같이 작성되었습니다. 스토리 보드 또는 XIB – Vinodh