pod:查询cocoaPods的使用方法
pod search XXX
pod init:先要初始化文件,使文件产生Podfile文件
pod install: 更新
重要方法:SnapKit、PINRemoteImage、SDWebImage、Kingfisher、SwiftyJSON、Alamofire
颜色: ColorPicker
类型转换: ObjectMapper
let imageView = UIImageView()
self.view.addSubview(imageView)
imageView.snp.makeConstraints { (make) in
make.centerX.centerY.equalTo(self.view)
make.width.height.equalTo(200)
}
let url = NSURL(string: "http://s1.dwstatic.com/group1/M00/69/44/c0e5bff6974446bb9cd5bec040393a03.gif")
// imageView.pin_setImageFromURL(url)
imageView.pin_setImageFromURL(url, placeholderImage: UIImage(named: "cat.jpg"))
// imageView.startAnimating()
print(NSHomeDirectory())
// self.view.translatesAutoresizingMaskIntoConstraints = false
redView = UIView()
redView.backgroundColor = UIColor.redColor()
self.view.addSubview(redView)
// redView.snp_makeConstraints { (make) in
// make.right.equalTo(self.view.snp_right)
// make.bottom.equalTo(self.view.snp_bottom)
// make.width.equalTo(100)
// make.height.equalTo(100)
// }
// redView.snp.makeConstraints { (make) in
// make.right.equalTo(self.view.snp.right)
// make.bottom.equalTo(self.view.snp.bottom)
// make.size.equalTo(CGSize(width: 100, height: 100))
// }
//UIEdgeInsets
redView.snp.makeConstraints { (make) in
// make.right.equalTo(self.view)
// make.bottom.equalTo(self.view)
make.right.bottom.equalTo(self.view)
// make.size.equalTo(CGSize(width: 100, height: 100))
make.width.height.equalTo(self.view).multipliedBy(0.2)
}
// let width = self.view.frame.size.width
// let height = self.view.frame.size.height
// redView.frame = CGRect(x: width - 100, y: height - 100, width: 100, height: 100)
let greenView = UIView()
greenView.backgroundColor = UIColor.greenColor()
self.view.addSubview(greenView)
greenView.snp.makeConstraints { (make) in
// make.top.left.equalTo(redView).offset(20)
//make.width = redView.width * 0.5
make.width.height.equalTo(redView).multipliedBy(0.5)
make.centerX.centerY.equalTo(redView)
}
//如果一个视图是通过自动布局设置的位置和大小,以后不应该直接修改它的frame,而需要更新(重新设置)约束
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
//更新约束
redView.snp.updateConstraints { (make) in
// make.size.equalTo(CGSize(width: 300, height: 300))
make.size.equalTo(self.view).multipliedBy(0.5)
}
//重新设置视图的约束,会将老的约束全部清除
// redView.snp.remakeConstraints { (make) in
// make.size.equalTo(CGSize(width: 200, height: 200))
// }
}
//使用SwiftyJSON解析数据
let json: JSON = JSON(data: data!)
print(json[0]["title"].string!)
print(json[0]["price"].float!)
print(json[2, "price"].float!)
//转换成json类型
let ja = JSON(bookArray!)
print(ja.rawString()!)
//1. 下载数据
//2. 解析数据
//3. 切换到主线程
Alamofire.request(.GET, "http://go.class.room/city?areacode=0101").responseJSON { (response) in
if response.result.error == nil {
let result = response.result.value
print(result)
print(NSThread.isMainThread())
}
}
tableView的有关使用
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//只负责重用
var cell = tableView.dequeueReusableCellWithIdentifier("cell")
// var imageView: UIImageView! //变量必须赋值以后才能使用
if cell == nil {
//如果刚创建,肯定是第一次使用
cell = UITableViewCell(style: .Default, reuseIdentifier: "cell")
let imageView = UIImageView()
imageView.frame = CGRect(x: 10, y: 10, width: 50, height: 60)
imageView.tag = 1001 //默认为0
cell!.contentView.addSubview(imageView)
}
//1. 作用域 2. 赋值
let dict = bookArray![indexPath.row]
let path = dict["cover"] as! String
let imageView = cell!.viewWithTag(1001) as? UIImageView //根据tag值查找子视图(UIView)
imageView!.kf_setImageWithURL(NSURL(string: path))
return cell!
}
//切换到主线程
dispatch_async(dispatch_get_main_queue(), {
self.tableView2.reloadData()
})