我能够展开和折叠单元格,但我想在UITableViewCell内调用函数(展开和折叠)以更改按钮标题。
导入UIKit
类MyTicketsTableViewController:UITableViewController {
var selectedIndexPath:NSIndexPath?
var extraHeight:CGFloat = 100
覆盖func viewDidLoad(){
super.viewDidLoad()
}
覆盖func didReceiveMemoryWarning(){
super.didReceiveMemoryWarning()
//处理所有可以重新创建的资源。
}
覆盖func tableView(tableView:UITableView,numberOfRowsInSection部分:Int)-> Int {
返回5
}
覆盖func tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath)-> UITableViewCell {
让cell = tableView.dequeueReusableCellWithIdentifier(“ cell”,forIndexPath:indexPath)为!MyTicketsTableViewCell
返回单元
}
覆盖func tableView(tableView:UITableView,heightForRowAtIndexPath indexPath:NSIndexPath)-> CGFloat {
if(selectedIndexPath!= nil && indexPath.compare(selectedIndexPath!)== NSComparisonResult.OrderedSame){
返回230 + extraHeight
}
回报230.0
}
覆盖func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath){
if(selectedIndexPath == indexPath){
selectedIndexPath =无
}其他{
selectedIndexPath = indexPath
}
tableView.beginUpdates()
tableView.endUpdates()
}
}
导入UIKit
类MyTicketsTableViewCell:UITableViewCell {
@IBOutlet弱var expandButton:ExpandButton!
@IBOutlet弱var detailsHeightConstraint:NSLayoutConstraint!
var defaultHeight:CGFloat!
覆盖func awakeFromNib(){
super.awakeFromNib()
defaultHeight = detailsHeightConstraint.constant
expandButton.button.setTitle(“ TAP FOR DETAILS”,forState:.Normal)
detailsHeightConstraint.constant = 30
}
func expand(){
UIView.animateWithDuration(0.3,延迟:0.0,选项:.CurveLinear,动画:{
self.expandButton.arrowImage.transform = CGAffineTransformMakeRotation(CGFloat(M_PI * 0.99))
self.detailsHeightConstraint.constant = self.defaultHeight
self.layoutIfNeeded()
},完成:{已完成
self.expandButton.button.setTitle(“ CLOSE”,forState:.Normal)
})
}
func crash(){
UIView.animateWithDuration(0.3,延迟:0.0,选项:.CurveLinear,动画:{
self.expandButton.arrowImage.transform = CGAffineTransformMakeRotation(CGFloat(M_PI * 0.0))
self.detailsHeightConstraint.constant = CGFloat(30.0)
self.layoutIfNeeded()
},完成:{已完成
self.expandButton.button.setTitle(“ TAP FOR DETAILS”,forState:.Normal)
})
}
}
如果你想在细胞获得更大的身体,那么,你有你的店IndexPath
,在heightForRow:
使用:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if selectedIndexPath == indexPath {
return 230 + extraHeight
}
return 230.0
}
然后,当您想在didSelectRow中展开一个时:
selectedIndexPath = indexPath
tableView.beginUpdates
tableView.endUpdates
编辑
这将使单元动画自己变大,您不需要单元中额外的动画块。
编辑2
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if(selectedIndexPath == indexPath) {
selectedIndexPath = nil
if let cell = tableView.cellForRowAtIndexPath(indexPath) as? MyTicketsTableViewCell {
cell.collapse()
}
if let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow:indexPath.row+1, section: indexPath.section) as? MyTicketsTableViewCell {
cell.collapse()
}
} else {
selectedIndexPath = indexPath
if let cell = tableView.cellForRowAtIndexPath(indexPath) as? MyTicketsTableViewCell {
cell.expand()
}
if let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow:indexPath.row+1, section: indexPath.section) as? MyTicketsTableViewCell {
cell.expand()
}
}
tableView.beginUpdates()
tableView.endUpdates()
}
I',试图构建一个扩展/折叠菜单。 我有一个主导航栏,里面有3个子菜单。默认情况下,子菜单的高度为50px,但一旦点击,这个高度就会变为200px。再点击一下,让它塌陷回原来的50px。 让我烦恼的是,当我展开subMenu1,然后展开Submenu2-Submenu1保持展开,并且我希望它在第二个子菜单被选中时折叠。 这是我的代码; 和jQuery: 我想知道什么功能或什么使用来确保一旦任何子菜
我有一个带有多个视图保持器的RecyclerView适配器。每个ViewHolder都有一个标题TextView和一个嵌套的RecyclerView,工作正常。但我想实现一个扩展/折叠函数,这样嵌套的RecyclerView就可以隐藏,直到单击标题为止。我使用此方法RecyclerView展开/折叠项目。它可以工作,但当我单击标题以展开嵌套的RecyleView时,recyclerview不会填充
展开或折叠代码 操作步骤: 菜单栏:Code —> Folding —> Expand 快捷键: Mac: command + “+” Windows\/Linux: Ctrl + "+" 展开或折叠代码 操作步骤: 菜单栏:Code —> Folding —> Collapse 快捷键: Mac: command + “-” Windows\/Linux: Ctrl + "-" 展开或折叠当前代
了解如何在 Dreamweaver 中折叠和展开代码以查看文档的各个部分而无需滚动。 您可以折叠和展开代码片段,以便无需滚动即可查看文档的不同部分。 例如,若要查看 head 标签中所有应用于页面下方较远处的一个 div 标签的 CSS 规则,请折叠 head 标签和 div 标签之间的所有代码,以便同时看到这两部分代码。 您可以选择要折叠的代码部分进行折叠。还可以在 HTML、PHP、XML 以
本文向大家介绍iOS开发中TableView类似QQ分组的折叠与展开效果,包括了iOS开发中TableView类似QQ分组的折叠与展开效果的使用技巧和注意事项,需要的朋友参考一下 类似QQ分组的样子,实现tableView的折叠与展开。其实要做这个效果我先想到的是在tableView中再嵌套多个tableView,这个想法实现起来就有点难了。 所以还是换个思路,把tableView的HeaderV
本文向大家介绍js实现简单折叠、展开菜单的方法,包括了js实现简单折叠、展开菜单的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现简单折叠、展开菜单的方法。分享给大家供大家参考。具体如下: 这里介绍的是意乱会折叠、展开的菜单导航栏,很老时候写的,CSS没有做美化,如果想用的朋友就自己美化吧。 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js