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!
        }
    }
  • 相关阅读:
    (整理)REHL6.5_Yum安装Reids
    (整理)REHL6.5_安装本地yum
    (转)MSSQLSERVER执行计划详解
    (转)SQLServer_十步优化SQL Server中的数据访问四
    (转)SQLServer_十步优化SQL Server中的数据访问五
    (转)SQLServer_十步优化SQL Server中的数据访问 三
    (转)SQLServer_十步优化SQL Server中的数据访问 二
    (转)SQLServer_十步优化SQL Server中的数据访问一
    (转)EF5+SQLserver2012迁移到EF6+mysql5.5.47
    (整理)MySQL_REHL6.5 MySQL5.5 中文支持问题
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5745716.html
Copyright © 2011-2022 走看看