Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模拟器和iPhone的不同行为_Iphone_Swift_Datepicker - Fatal编程技术网

模拟器和iPhone的不同行为

模拟器和iPhone的不同行为,iphone,swift,datepicker,Iphone,Swift,Datepicker,在我的项目中,我在表视图控制器中使用了7个日期选择器单元格。我调整了它,如果我点击一个新的单元格,以前点击的单元格日期选择器就会崩溃。当我在模拟器上运行应用程序时,一切都很顺利,并且按照预期工作。当我在运行iOS 8.3的iPhone 5S上运行应用程序时,当我点击一个单元格时,两个单元格会展开,其他奇怪的事情也会发生。这里怎么了?使用Xcode 8.2.1 Swift 3 以下是tableview的代码: func dismissPreviousCell() { if previous

在我的项目中,我在表视图控制器中使用了7个日期选择器单元格。我调整了它,如果我点击一个新的单元格,以前点击的单元格日期选择器就会崩溃。当我在模拟器上运行应用程序时,一切都很顺利,并且按照预期工作。当我在运行iOS 8.3的iPhone 5S上运行应用程序时,当我点击一个单元格时,两个单元格会展开,其他奇怪的事情也会发生。这里怎么了?使用Xcode 8.2.1 Swift 3

以下是tableview的代码:

func dismissPreviousCell()
{
    if previousIndex != nil {
        let cellToDismiss = self.tableView(tableView, cellForRowAt: previousIndex!) as? DatePickerCell
        cellToDismiss?.selectedInTableView(tableView)
    }
}

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let cell = self.tableView(tableView, cellForRowAt: indexPath)

        if let datePickerCell = cell as? DatePickerCell {
            datePickerCell.selectedInTableView(tableView)
            print("Index path is \(indexPath)")
            dismissPreviousCell()
            previousIndex = indexPath
    }
    self.tableView.deselectRow(at: indexPath, animated: true)
}

你能为TableView发布你的代码吗?检查你的限制,模拟手机和你的手机大小一样吗?@Timmy,它们大小一样。这些约束不应该影响应用程序的功能。在模拟器上,单击单元格时,其日期选择器将展开。在手机上,下一个手机的日期选择器被扩展。有时两个日期选择器同时扩展,你的模拟器也是“运行iOS 8.3的iPhone 5S”吗?这可能是操作系统的不同。同意大卫的观点。如果你的模拟器运行的是iOS 10.x,那么很容易就会有很大的不同。您的XCode项目是否已设置为针对iOS 8构建?