在iPad上以uicollectionviewcontroller方式呈现模式时性能不佳

时间:2015-04-20 16:05:19

标签: ios uitableview swift uicollectionview

in有一个简单的uicollectionviewcontroller,其中包含一些简单的视图。在UINavigationBar中我有一个按钮,按下时按模式(作为表单)segue到导航控制器,以tableview作为rootview。

在iPhone上,它一切运作良好,但在iPad上动画呈现时和呈现的桌面视图滚动时效果不佳且fps较低。

这怎么可能?

请告诉我应用程序需要哪些类型的信息来帮助我。

我在swift工作,iOS 8.3

enter image description here

更新 好的,所以我的tableview中有8种不同的原型单元,都在我的故事板中自动布局。我有一个IBOutlets的子类。

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        if (indexPath.section == 0) {
            if indexPath.row == 0 {

                let calendar = NSCalendar.currentCalendar()
                let components = calendar.components(NSCalendarUnit.CalendarUnitWeekOfYear, fromDate: NSDate())

                let cell = tableView.dequeueReusableCellWithIdentifier("weekCell", forIndexPath: indexPath) as! WeekChooserTableViewCell
                cell.stepper.value = Double(components.weekOfYear)
                cell.weekNumber.text = String(components.weekOfYear)
                return cell
            } else if indexPath.row == 1 {
                let cell = tableView.dequeueReusableCellWithIdentifier("customerCell", forIndexPath: indexPath) as! CustomerTableViewCell
                cell.customerTextField.tag = "\(indexPath.row+1)\(indexPath.section+1)".toInt()!
                cell.customerTextField.delegate = self
                return cell
            }
        } else if indexPath.section > 0 && indexPath.section <= 5 {
            if indexPath.row == 0 {
                let cell = tableView.dequeueReusableCellWithIdentifier("hourpayCell", forIndexPath: indexPath) as! HourpayTableViewCell
                if arrayOfHourpay[indexPath.section-1] == 9999999999 {
                    cell.hourpayTextField.text = ""
                } else {
                    cell.hourpayTextField.text = String("\(arrayOfHourpay[indexPath.section-1])")
                }
                cell.hourpayTextField.tag = "\(indexPath.row+1)\(indexPath.section+1)".toInt()!
                cell.hourpayTextField.delegate = self
                return cell
            } else if indexPath.row == 1 {
                let cell = tableView.dequeueReusableCellWithIdentifier("casepayCell", forIndexPath: indexPath) as! CasepayTableViewCell
                if arrayOfCasepay[indexPath.section-1] == 9999999999 {
                    cell.casepayTextField.text = ""
                } else {
                    cell.casepayTextField.text = String("\(arrayOfCasepay[indexPath.section-1])")
                }
                cell.casepayTextField.tag = "\(indexPath.row+1)\(indexPath.section+1)".toInt()!
                cell.casepayTextField.delegate = self
                return cell
            } else if indexPath.row == 2 {
                let cell = tableView.dequeueReusableCellWithIdentifier("machinepayCell", forIndexPath: indexPath) as! MachinepayTableViewCell
                if arrayOfMachinepay[indexPath.section-1] == 9999999999 {
                    cell.machinepayTextField.text = ""
                } else {
                    cell.machinepayTextField.text = String("\(arrayOfMachinepay[indexPath.section-1])")
                }
                cell.machinepayTextField.tag = "\(indexPath.row+1)\(indexPath.section+1)".toInt()!
                cell.machinepayTextField.delegate = self
                return cell
            } else if indexPath.row == 3 {
                let cell = tableView.dequeueReusableCellWithIdentifier("daycommentCell", forIndexPath: indexPath) as! DayCommentTableViewCell
                cell.textView?.tag = "\(indexPath.row+1)\(indexPath.section+1)".toInt()!
                cell.textView?.text = arrayOfDayComments[indexPath.section-1]
                return cell
            }
        } else if indexPath.section == 6 {
            if indexPath.row + 1 == rowsInMaterialSection {
                let cell = tableView.dequeueReusableCellWithIdentifier("addMaterialCell", forIndexPath: indexPath) as! AddNewMaterialTableViewCell
                return cell
            } else {
                let cell = tableView.dequeueReusableCellWithIdentifier("materialTextfieldCell", forIndexPath: indexPath) as! MaterialTextfieldTableViewCell
                cell.MaterialTextField.text = arrayOfMaterials[indexPath.row]
                cell.MaterialTextField.tag = "\(indexPath.row+1)\(indexPath.section+1)".toInt()!
                cell.MaterialTextField.delegate = self
                return cell
            }
        }

        let cell = tableView.dequeueReusableCellWithIdentifier("daycommentCell", forIndexPath: indexPath) as! DayCommentTableViewCell
        return cell
    }

enter image description here

0 个答案:

没有答案