avatar
文章
43
标签
34
分类
11

Jim zhang's Blog

Jim zhang's Blog

iOS之CAAnimation
发表于2018-03-02|iOS
UIView, CALayer, CAAnimation,CATransication等; 呈现树模型树以及同步 CAAnimation是加载view.layer.presentationlayer上,而不会更新到view.layer.modellayer; UIView和UIView的自带layer的属性实际上是对应的是CALayer的modellayer,presentationlayer和modellayer存在同步的关系; 任意时刻如果CAAnimation加到view.layer上,presentationlayer优先从CAAnimation取状态要怎么刷新,动画做完将回归到modellayer的状态; 可以使用CADisplaylink定时器,中取view.layer.presentationlayer的bounds,positon,transform等信息同步到uiview的layer上(modellayer); 12345678910111213141516171819202122232425262728293031323334[CATransaction setA ...
OC之Block
发表于2018-02-05|iOS
Block用起来很方便,编译过程到底是怎么回事呢? Block的数据结构12345678910111213struct Block_descriptor_1 { uintptr_t reserved; uintptr_t size;}; struct Block_layout { void *isa; volatile int32_t flags; // contains ref count int32_t reserved; void (*invoke)(void *, ...); struct Block_descriptor_1 *descriptor; // imported variables}; Block编译之后成为一个结构体(实际上就是对象类型因为第一位是*isa),一个函数指针,指向的是编译过程中根据block中代码生成的Imp,最后面的是block中代码持有的变量(相当于对象的成员变量); Block之变量 block里面对内外部变量会将其对象化成成员变量不添加*__block ...
iOS之Runloop
发表于2018-02-02
Runloop,简而言之就是一个死循环用来接受内部和外部事件,定时任务等,和线程有密切的关系; 123456@autoreleasepool { NSLog(@"begin"); int a = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); NSLog(@"end"); return a;} 上面的end永远也不会打印,UIApplicationMain会启动一个死循环; 12345678function loop() { initialize(); do { var message = get_next_message(); process_message(message); } while (message != quit);} Runloop的创建苹果不允许直接创建Runloop,而是提供了两个方法: CFRunLoopGet ...
1…131415
avatar
Jim zhang
文章
43
标签
34
分类
11
最新文章
wkwebview页面滑动异常2024-01-18
iOS方向控制2024-01-18
iOS上给web环境传文件2024-01-17
Node,React2023-12-07
使用TextField的markedTextRange实现输入框文字限时2023-12-04
分类
  • Blog2
  • Fullstack1
  • Script1
  • git1
  • iOS28
  • 其他3
  • 工具1
  • 操作系统1
标签
CoreText crash runtime CI 直播 Timer 认证 序列图 rebase 锁 GitHub 方向 MarkDown AVPlayer wkwebview iOS动画 编辑器 M3u8加密 React Script UI hexo Objective-C swift 证书 Shell 多线程编程 泛型 组件化 Crash 模拟器 fastlane RXSwift script
归档
  • 一月 20243
  • 十二月 20233
  • 十一月 20235
  • 九月 20237
  • 七月 20233
  • 六月 20236
  • 五月 20237
  • 九月 20193
©2020 - 2025 By Jim zhang
框架 Hexo|主题 Butterfly