码迷,mamicode.com
首页 > 编程语言 > 详细

Swift 写一个简单界面(实战-新手)

时间:2016-07-07 01:03:01      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:

原文链接

在这篇博文中你可以看到那些内容呢, 首先这是一个用tableView纯代码Swift写的简单界面, 你可以看到下面这些
- 使用Alamofire 进行网络请求
- 使用MJExtension 进行字典转模型
- 使用HanekeSwift 进行图片的赋值
- 如何写一个模型(M)
- 如何自定义一个UITableViewCell

技术分享

Alamofire 简单网络请求
func XTNetworkReq(url: String){
        print("SUMMER_TEST_1")
        Alamofire.request(.GET, url, parameters: nil)
            .validate(contentType: ["application/json", "text/json", "text/javascript", "text/html","text/css", "text/plain","application/x-javascript"])
            .responseJSON { response in
                switch response.result {
                case .Success:
                // print("Validation Successful: \\\\(response.result.value)")
                // json 转化成字典
                // 并进行数据解析
                let jsonDataDic = response.result.value as? NSDictionary
                let dataDic = jsonDataDic?.objectForKey("data")
                let listArray = dataDic?.objectForKey("list")
                print(listArray)
                // 字典转模型(MJExtension)
                self.dataArray = AlamofireVCModel.mj_objectArrayWithKeyValuesArray(listArray)
                if self.dataArray.count > 0
                {
                    // 进行UI刷新操作
                    self.tableView.reloadData()
                }
                case .Failure(let error):
                    print(error)
                }
        }
    }

参照 Alamofire API_ 链接
参照 MJExtension API_ 链接

如何写一个模型
class AlamofireVCModel: NSObject {
    var id:       Int = 0
    var title:    String?
    var pic:      String?
    var readnum:  String?
    var replynum: String?
}
如何自定义一个Cell
    var alaModel = AlamofireVCModel()
    var imagePic = UIImageView()
    var labelTitle = UILabel()
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: UITableViewCellStyle.Default, reuseIdentifier: reuseIdentifier)
        self.createCellSubviews()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    // MARK: - 布局UI
    func createCellSubviews(){
        imagePic = UIImageView.init(frame: CGRectMake(5, 5, self.contentView.frame.size.width - 10, 188 - 10))
        self.contentView.addSubview(imagePic)

        labelTitle = UILabel.init(frame: CGRectMake(10, 10, s_w, 60))
        labelTitle.numberOfLines = 0
        labelTitle.textColor = UIColor ( red: 1.0, green: 0.4666, blue: 0.3002, alpha: 1.0 )
        imagePic.addSubview(labelTitle)
    }
    // MARK: - layoutSubviews
    override func layoutSubviews() {
        if (self.alaModel.pic != nil && self.alaModel.pic?.hasSuffix("gif") != nil){
            // 进行图片的赋值, 这里给出的截取字符串的方法
            self.imagePic.hnk_setImageFromURL(NSURL.init(string: (self.alaModel.pic?.substringToIndex((self.alaModel.pic?.startIndex.advancedBy(66))!))!)!)
        }
        self.labelTitle.text = self.alaModel.title
    }

iOS 走进Facebook POP的世界
Swift版本仿网易云音乐播放音乐动画效果
三分钟教你把代码托管到Github
Swift 很强大的图表库-Charts使用 – 简书
Swift版仿简书App淘宝App很友好弹出view效果
iOS UICollectionView高级用法“长按自由移动cell重排
iOS仿微信App添加带箭头的view
iOS仿美团外卖饿了吗App点餐动画
你要的Swift资料

—————————————
走心文章, 值得点赞 —文/夏天然后
微博@夏天是个大人了 QQQ: 498143780
—————————————

Swift 写一个简单界面(实战-新手)

标签:

原文地址:http://blog.csdn.net/sinat_30162391/article/details/51843157

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!