zoukankan      html  css  js  c++  java
  • [Xcode 实际操作]三、视图控制器-(11)在Storyboard中使用表格控件

    目录:[Swift]Xcode实际操作

    本文将演示表格控件在故事板中的使用。

    点击【显示或隐藏检查器按钮】,再界面右侧打开检查器面板。

    在控制器根视图上点击鼠标,以选择该根视图。

    现在往根视图中添加一个表格视图。

    点击【库面板】图标,打开控件库面板

    在控件库搜索框内,输入控件名称Table View,在控件库中,快速定位目标控件。

    然后在按钮控件上双击,导入所需的控件。

    在表格定界框的右下角按下鼠标,并向右下角拖动,以调整表格控件的尺寸。

    然后点击库图标,再次打开控件库面板。添加一个单元格控件:Table View Cell

    将导入的单元格控件,拖动到表格视图里。即在根视图左侧的文件树中拖动文件。

    接着选择表格视图控件,点击【尺寸检查器】图标,打开尺寸检查器面板。

    【Row Height】:60(行高)

    接着选择单元格控件,同样设置单元格的高度。

    【Row Height】:60(行高)

    点击选择单元格的内容视图,接着往单元格的内部,添加一些新的控件。

    点击【库面板】图标,打开控件库面板,以同样的方式,将图像视图添加到单元格中。

    在宽度输入框内,输入图像视图的宽度数值。

    在高度输入框内,输入图像视图的高度数值。

    在X输入框内,输入图像视图在单元格内的横向坐标值

    在Y输入框内,输入图像视图在单元格内的纵向坐标值

    点击【属性检查器】图标,进入属性设置面板。

    【Image】:输入图片的名称,设置图像视图默认显示的图片。

    点击【库面板】图标,打开控件库面板,以同样的方式,将标签控件添加到单元格中。

    将添加的标签对象拖动至单元格内适当位置,鼠标在标签定界框上按下,调整标签的宽度。

    【Tag】:在标识输入框内,设置标志值,通过标志值,就可以在代码中获取该标签控件。

    【重要】在故事板元素列表中,选择根视图中的表格控件,现在给表格添加代理对象:

    在表格控件上按下鼠标右键,然后拖动到视图控制器图标,

    在弹出的列表中,选择【dataSource】数据源选项,设置表格的数据源,为当前的视图控制器

    继续在表格上按下鼠标的右键,然后拖动到视图控制器。

    在弹出的列表中,选择【delegate】代理选项,设置表格的代理。

    然后选择单元格控件,设置单元格的重用标识符。

    【Identifier】:reusedCell

    点击【隐藏或显示检查器】按钮,隐藏检查器面板。

    点击打开视图控制器的代码文件。

     1 import UIKit
     2 //给视图控制器类添加两个代理协议:
     3 //一个是表格视图的数据源协议,另一个是表格视图的代理协议。
     4 class ViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {
     5 
     6     //创建一个数组,
     7     //该数组里面的数据,将作为表格数据的来源。
     8     var fruits = ["Apple", "Banana", "Chinese Date", "Downy Picch", "Filbert", "Gingko", "Hawthorn", "Kumquat"]
     9     
    10     override func viewDidLoad() {
    11         super.viewDidLoad()
    12         // Do any additional setup after loading the view, typically from a nib.
    13     }
    14     
    15     //添加一个表格代理方法,用来设置表格的行数。
    16     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    17         //这里设置将数组的长度作为表格的行数
    18         return fruits.count
    19     }
    20     
    21     //添加一个代理方法
    22     //用来初始化和返回表格视图的单元格,是最主要的一个代理方法。
    23     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    24         //创建一个字符串,作为单元格的标识符,
    25         //也就是上文在故事板中,给单元格控件设置的那个重用标识符。
    26         let identifier = "reusedCell"
    27         //单元格的标识符,可以看作是一种重用机制,此方法可以从所有已经开辟内存的单元格里面,
    28         //选择一个具有同样标识符的、空闲的单元格。
    29         let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath)
    30         
    31         //通过在故事板中设置的标志值,获得单元格中的标签控件。
    32         let label = cell.viewWithTag(1) as! UILabel
    33         //根据表格行的编号,从数组中获得对应的字符串,从而设置标签的文字内容。
    34         label.text = fruits[(indexPath as NSIndexPath).row]
    35         
    36         //最后返回设置好的单元格对象。
    37         return cell
    38     }
    39 
    40     override func didReceiveMemoryWarning() {
    41         super.didReceiveMemoryWarning()
    42         // Dispose of any resources that can be recreated.
    43     }
    44 }
  • 相关阅读:
    javascript 日期月份加减
    ActiveRecord 的类型初始值设定项引发异常
    angularjs $q、$http 处理多个异步请求
    angular.foreach 格式
    PHP基础知识2
    第一个月的学习总结
    JavaScript的学习5
    JavaScript的学习4
    JavaScript的学习3
    JavaScript的学习2
  • 原文地址:https://www.cnblogs.com/strengthen/p/10009822.html
Copyright © 2011-2022 走看看