在快速

时间:2015-06-27 13:30:14

标签: ios xcode swift

Here's the table view itself.

我设法让我的细胞动起来。我在CGFloat类型中创建了一个名为rowHeight的全局变量,并将其隐式赋值为40.我将此代码写下来:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {


        return rowHeight
    }

在触摸事件中:

@IBAction func lessonCollapser(sender: AnyObject) {

        if rowHeight == 40 {

        self.tableView.beginUpdates()

        UIView.animateWithDuration(1, animations: {self.rowHeight = 0})

        self.tableView.endUpdates()

        } else if rowHeight == 0 {

            self.tableView.beginUpdates()

            UIView.animateWithDuration(1, animations: {self.rowHeight = 40})

            self.tableView.endUpdates()

        }

    }

到目前为止一切顺利。即使它是动画,也有一些问题。

首先:我的自定义标题消失了。

第二:我收到错误:"没有重复使用表格单元格的索引路径"。我认为因为没有索引路径,标题会消失。这是预料之中的。不期望的是,为什么我的桌子'我使用动画时索引路径消失了吗?我认为这是因为beginUpdates()endUpdates()。有人可以建议我做点什么吗?

标题视图的代码:

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {



        let headerCell = tableView.dequeueReusableCellWithIdentifier("HeaderCell") as! lessonHeaderTableViewCell

        switch (section) {

        default:
            headerCell.lessonHeader.setTitle("TEST HEADER", forState: .Normal)

        }


        return headerCell
    }

上面的代码会发生什么:我使用" headerCell"创建了一个原型单元格。标识符。我在里面扔了一个按钮。我创建了一个名为" lessonHeaderTableViewCell的swift文件。我将它指定为原型单元的类,以便它可以控制它。最后,我创建了一个名为" lessonHeader"对于按钮,在我创建的swift文件中。

This is how it looks like after collapse.

0 个答案:

没有答案