Swift创建一个选择题库界面(解决TableViewCell中

作者: 9ad91f89b29e | 来源:发表于2016-07-31 09:44 被阅读526次

    Swift创建一个选择题库界面(解决TableViewCell中Button的selected状态混乱和手势事件被截拦问题)-1

    Swift创建一个选择题库界面(解决TableViewCell中Button的selected状态混乱和手势事件被截拦问题)-2

    Swift创建一个选择题库界面(解决TableViewCell中Button的selected状态混乱和手势事件被截拦问题)-3

    首先来看一下整个界面的最终效果图,共实现了以下几个功能:

    • 1.有单选和多选两种体型(但是只能是ABCD4个选项 )
    • 2.单选只能选中一个选项,多选可以选择多个选项
    • 3.需要统计结果,按提交按钮后给出答对的题数和正确率

    下面开始一步一步来实现:
    **第一步:创建一个Model,名为Exercise **
    代码如下:

    class Exercise: NSObject {
      var index:NSNumber!//题号             
      var title:String!//题干
      var type:String!//类型(单选或多选)
      var options:NSArray?//选项
      var answer:String?//答案
      init(dict:NSDictionary) {
        self.index = dict["index"] as! NSNumber
        self.title = dict["title"] as! String
        self.type = dict["type"] as! String
        self.options = dict["options"] as? NSArray
        self.answer = dict["answer"] as? String
      }
    }```
    
    我们把题库存储在一个plist文件中,名为testLibraryList.plist,层次如下:根选项(root)-dictionary,单选或多选-array,某一题(item)-dictionary。这样如果要创建一个Exercise对象,就可以用init(dict:某一题-dictionary)。plist如下图:
    ![](http:https://img.haomeiwen.com/i1804014/9ecb3592f3a7b7ba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    **第二步:创建Storyboard,在Main.storyboard中拖入TableViewController **   
    布局如下:首先拖入一个View作为背景,然后就是题目(UILabel),每一个选项都由一个UIButton和一个UILabel,之所以这样是如果只有一个button来做选项的话,如果选项过长,就会显示不全,如果只用一个label,就无法看到是哪个选项被选中了。要自适应tableView的话就要用自适应布局添加约束(觉得怎么好看怎么弄,我的是每一个选项的button和label都是centerY对齐)。
    
    布局的时候需要注意以下几点:1.每个button的selected和default的图片都要设置;2.所有的Label行数都为0;3.题目label的颜色为黑色,大小为17;4.选项label的颜色为灰色,大小为17;5.背景View的背景颜色为轻灰色。
    ![](http:https://img.haomeiwen.com/i1804014/8ea069529bb2e461.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    选中cell,并将indentifier改为XXWDCell
    ![](http:https://img.haomeiwen.com/i1804014/f9d52aa26e8e2e76.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    为VC添加NavigationController,选中VC,在菜单栏中Editor->Embed in->NavigationController
    待续.....

    相关文章

      网友评论

      本文标题:Swift创建一个选择题库界面(解决TableViewCell中

      本文链接:https://www.haomeiwen.com/subject/asitsttx.html