zoukankan      html  css  js  c++  java
  • swift 笔记

    跳转

        let tableViewController = TableViewController();
        tableViewController.test = "参数"
        self.navigationController!.pushViewController(tableViewController, animated:true)
    

    模态跳转

        let tableViewController = TableViewController()
        self.present(tableViewController, animated: true, completion: nil)
    

    跳转后黑屏

        // 设置背景色
        self.view.backgroundColor = UIColor.white
    

    autolayout

        // 创建button-button3并设置样式
        // ...
        // 设置 translates... 为 false,否则无法用 autolayout
        button.translatesAutoresizingMaskIntoConstraints = false
        button2.translatesAutoresizingMaskIntoConstraints = false
        button3.translatesAutoresizingMaskIntoConstraints = false
        // 创建一个控件数组
        let views:[String:AnyObject] = ["button": button,"button2": button2,"button3": button3]
        // 创建水平方向约束
        self.view.addConstraints(NSLayoutConstraint.constraints(
            withVisualFormat: "H:|-5-[button(100)]-5-[button2(100)]",
            options:.alignAllTop,
            metrics: nil,
            views: views
        ))
        // 创建垂直方向约束
        self.view.addConstraints(NSLayoutConstraint.constraints(
            withVisualFormat: "V:|-100-[button(50)]-20-[button3(40)]",
            options:.alignAllLeft,
            metrics: nil,
            views: views
        ))
        // 设置button3宽度
        let constraint:NSLayoutConstraint = NSLayoutConstraint(
            item: button3,
            attribute: .width,
            relatedBy: .equal,
            toItem: nil,
            attribute: .notAnAttribute,
            multiplier: 1.0,
            constant: 140
        )
        // 添加约束
        self.view.addConstraint(constraint)
    

    autolayout 获取不到 size

        // autolayout布局时,控件上下左右需要触碰到边缘,否则无法获取 size
        // 如:
        // H:|[box(40)]|
        // V:|-80-[box(999)]-80-|
        // 获取 size 要在 viewDidLayoutSubviews 方法内
        override func viewDidLayoutSubviews() {
            scrollView.contentSize = box.frame.size
        }
    

    tableView 设置数据

        // 在协议中设置数据源(UITableViewDataSource),代理(UITableViewDelegate)
        class TableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
            var table:UITableView!
            let arr:[String] = ["我是谁", "我从哪里来", "要到哪里去"]
            func setTableView() {
                let rect = self.view.frame
                table = UITableView(frame: rect)
                self.view.addSubview(table)
                //设置数据源
                self.table.dataSource = self
                //设置代理
                self.table.delegate = self
                //注册UITableView,cellID为重复使用cell的Identifier
                self.table.register(UITableViewCell.self, forCellReuseIdentifier: "cellID")
            }
            func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
                return arr.count
            }
            //设置section的数量
            func numberOfSections(in tableView: UITableView) -> Int {
                return 1
            }
            //设置tableview的cell
            func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                let cell = (table.dequeueReusableCell(withIdentifier: "cellID", for: indexPath)) as UITableViewCell
                // cell.textLabel?.text = arr[indexPath.row]
                
                
                let button = UIButton()
                button.setTitle("测试(indexPath.row)", for: .normal)
                button.backgroundColor = UIColor.black
                button.addTarget(self, action: #selector(clickButton(_:)), for: .touchUpInside)
                button.tag = indexPath.row
                cell.addSubview(button)
                let views:[String:AnyObject] = ["button": button]
                button.translatesAutoresizingMaskIntoConstraints = false
                //创建水平方向约束
                cell.addConstraints(NSLayoutConstraint.constraints(
                    withVisualFormat: "H:|-5-[button]-5-|",
                    options:.alignAllTop,
                    metrics: nil,
                    views: views
                ))
                cell.addConstraints(NSLayoutConstraint.constraints(
                    withVisualFormat: "V:|-10-[button]",
                    options:.alignAllLeft,
                    metrics: nil,
                    views: views
                ))
                return cell
            }
            // 点击事件
            @objc func clickButton (_ test: UIButton) {
                print(arr[test.tag])
            }
            
            override func viewDidLoad() {
                super.viewDidLoad()
                self.setTableView()
            }
        }
    
  • 相关阅读:
    vim的分屏功能
    vim进阶
    VIM常用快捷键
    vim操作:打开多个文件、同时显示多个文件、在文件之间切换
    vim 如何复制文件中多行到另一个文件
    无限分类左右值算法的常规操作逻辑
    js查看Object对象的内容
    js获取当前页面的url信息
    javascript获取url中的参数值
    解决Eclipe安装不上android的ADT的办法
  • 原文地址:https://www.cnblogs.com/NKnife/p/9234054.html
Copyright © 2011-2022 走看看