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!
        }
    }
  • 相关阅读:
    面试题58:翻转字符串
    面试题57_2:和为S的连续正数序列
    面试题57:和为S的数字
    面试题56:数组中数字出现的次数
    面试题55_2:平衡二叉树
    面试题54:二叉搜索树的第k大节点
    面试题55_1:二叉树的深度
    tortoisegit 本地创建的分支 push github
    TortoiseGit 拉取分支
    tortoiseGIT 本地分支创建合并
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5745716.html
Copyright © 2011-2022 走看看