zoukankan      html  css  js  c++  java
  • Swift

    Swift - UITableView状态切换效果

    效果

    源码

    https://github.com/YouXianMing/Swift-Animations

    //
    //  TableViewTapAnimationController.swift
    //  Swift-Animations
    //
    //  Created by YouXianMing on 16/8/7.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    import UIKit
    
    class TableViewTapAnimationController: NormalTitleViewController, UITableViewDelegate, UITableViewDataSource {
    
        var adapters  : NSMutableArray!
        var tableView : UITableView!
        
        override func setup() {
            
            super.setup()
            
            // TableView.
            tableView                = UITableView(frame: (contentView?.bounds)!)
            tableView.dataSource     = self
            tableView.delegate       = self
            tableView.separatorStyle = .None
            contentView?.addSubview(tableView!)
            
            // Register cell.
            TableViewTapAnimationCell.registerToTableView(tableView, cellReuseIdentifier: nil)
            
            // Data source.
            adapters = NSMutableArray()
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "YouXianMing", selected: false), cellHeight: 80))
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Animations", selected: false), cellHeight: 80))
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "YoCelsius", selected: false), cellHeight: 80))
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "iOS-Progrommer", selected: false), cellHeight: 80))
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Design-Patterns", selected: false), cellHeight: 80))
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Arabia-Terra", selected: false), cellHeight: 80))
            adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Swift", selected: false), cellHeight: 80))
        }
        
        // MARK: UITableView's delegate & dataSource.
        
        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            
            return adapters.count
        }
        
        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            
            return tableView.dequeueAndLoadContentReusableCellFromAdapter(adapters[indexPath.row] as! CellDataAdapter, indexPath: indexPath)
        }
        
        func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
            
            tableView.selectedEventWithIndexPath(indexPath)
        }
        
        func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
            
            return (adapters[indexPath.row] as! CellDataAdapter).cellHeight!
        }
    }
  • 相关阅读:
    Dubbo集群配置和官方文档
    Lock wait timeout exceeded
    Too many connections
    mybatis 批量更新 Parameter '__frch_item_0' not found. Available parameters are [list]
    base64文件转MultipartFile文件
    base64之js压缩图片
    NotSupportedError Only secure origins are allowed
    安装MySQL时候最后一步报无法定位程序输入点fesetround于动态链接库MSVCR120.dll
    2018年总结
    java开发之多线程基础篇
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5745716.html
Copyright © 2011-2022 走看看