XCODE使用经验总结
Q:Feb 7 10:03:53 DropIt[1329] <Error>: CGContextSetStrokeColorWithColor: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
A:Product -> Schema -> Edit Schema -> run arguments -> Envionment Vaiables
CG_CONTEXT_SHOW_BACKTRACE Yes
用按钮在Conroller中改变UIView中的画图样式
自建一个UIView的类,在它的drawRect重载中实现
import UIKit
class MyView: UIView {
var c1:UIColor = UIColor.redColor() {
didSet{
setNeedsDisplay() // 外部对这个视图的修改只需要修改这个值,这样drawRect方法会根据这里的设置重画
}
}
override func drawRect(rect: CGRect) {
let test:UIBezierPath = UIBezierPath(rect: rect)
test.lineWidth = CGFloat(10.0)
c1.set()
test.stroke()
}
}
//controller中的button对应的函数代码1,添加UIView
let mv = MyView()
mv.frame = CGRectMake(0, 0, 100, 100)
mv.backgroundColor = UIColor.blueColor()
self.view.addSubview(mv)
mv.c1 = UIColor.blackColor() 改变UIView显示的方式
SIWFT中动画的使用
// 使用动画注意的点:
// 1. 打开父UIView的动画功能
// override func viewDidAppear(animated: Bool)
// override func viewWillDisappear(animated: Bool)
// 2. 生成与父窗口关联的 UIDynamicAnimator 动画控制对象
// 3. 生成具体的动画行为 如:UIGravityBehavior
// 4. 关联动画行为UIGravityBehavior和动画管理对象UIDynamicAnimator
// 5. 关联动画行为和其作用的具体UIView的子对象
graph LR
subgraph Controller
self(override </br>funcviewDidAppear</br> viewWillDisappear)--1.打开父UIView</br>对应的Controller</br>的动画功能-->Controller
end
subgraph UIView
UIGravityBehavior --3.关联动画行为</br>和动画管理对象-->UIDynamicAnimator
UIGravityBehavior--5.关联动画行为</br>和其作用的具体</br>UIView的子对象-->具体UIView的子对象
end
Controller-- 2. 生成与父窗口关联的</br>UIDynamicAnimator</br> 动画控制对象 ---UIDynamicAnimator
sequenceDiagram
UIDynamicAnimator ->> UIView: 1.How are you?
UIGravityBehavior ->> UIDynamicAnimator: How are you?
UIGravityBehavior ->> 具体UIView的子对象: How are you?