圆形的CAShapeLayer和CABasicAnimation-加载程序样式-闪烁

时间:2019-02-11 12:19:31

标签: ios swift swift-playground cashapelayer cabasicanimation

我在操场上的一个项目中玩AR libesphttpd.a wifi/wifi.tpl (55%, heatshrink) wifi/.DS_Store (15%, heatshrink) wifi/140medley.min.js (74%, heatshrink) wifi/connecting.html (61%, heatshrink) wifi/icons.png (100%, none) wifi/style.css (73%, heatshrink) index.tpl (68%, heatshrink) websocket/index.html (52%, heatshrink) cats/.DS_Store (15%, heatshrink) .DS_Store (16%, heatshrink) test/index.html (72%, heatshrink) test/test.js (38%, heatshrink) lienkaweb/index.html (38%, heatshrink) lienkaweb/images/up.png (100%, none) lienkaweb/images/down.png (100%, none) lienkaweb/images/up_hover.png (100%, none) lienkaweb/images/left.png (100%, none) lienkaweb/images/left_hover.png (100%, none) lienkaweb/images/down_hover.png (100%, none) lienkaweb/images/right_hover.png (100%, none) lienkaweb/images/right.png (100%, none) lienkaweb/script.js (21%, heatshrink) lienkaweb/style.css (44%, heatshrink) flash/index.html (54%, heatshrink) flash/140medley.min.js (74%, heatshrink) flash/style.css (59%, heatshrink) style.css (78%, heatshrink) led.tpl (72%, heatshrink) AR build/httpd_app.a GEN ldscript_memspecific.ld LD build/httpd.out /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/bin/ld:ldscript_memspecific.ld:1: warning: redeclaration of memory region `irom0_0_seg' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/bin/ld: build/httpd.out section `.text' will not fit in region `iram1_0_seg' build/httpd_app.a(gdbstub.o):(.irom0.text+0x4): undefined reference to `user_fatal_exception_handler' build/httpd_app.a(gdbstub.o): In function `install_exceptions': gdbstub.c:(.irom0.text+0x28): undefined reference to `_xt_isr_attach' gdbstub.c:(.irom0.text+0x2c): undefined reference to `_xt_isr_unmask' build/httpd_app.a(gdbstub.o): In function `install_uart_hdlr': /Users/halasz/Projects/Iskola/Mgr/Lienka-esphttpd/esphttpd/gdbstub/gdbstub.c:762: undefined reference to `_xt_isr_attach' /Users/halasz/Projects/Iskola/Mgr/Lienka-esphttpd/esphttpd/gdbstub/gdbstub.c:764: undefined reference to `_xt_isr_unmask' /Users/halasz/Projects/Iskola/Mgr/Lienka-esphttpd/esphttpd/gdbstub/gdbstub.c:765: undefined reference to `os_install_putc1' build/httpd_app.a(gdbstub.o): In function `gdbstub_init': /Users/halasz/Projects/Iskola/Mgr/Lienka-esphttpd/esphttpd/gdbstub/gdbstub.c:776: undefined reference to `os_install_putc1' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-wsetup.o):(.literal+0x0): undefined reference to `_free_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-wsetup.o): In function `__swsetup_r': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/wsetup.c:57: undefined reference to `_free_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-fflush.o): In function `__sflush_r': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fflush.c:162: undefined reference to `_free_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-findfp.o):(.literal+0x4): undefined reference to `_malloc_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-findfp.o): In function `__sfmoreglue': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/findfp.c:88: undefined reference to `_malloc_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-makebuf.o):(.literal+0x8): undefined reference to `_fstat_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-makebuf.o): In function `__smakebuf_r': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/makebuf.c:59: undefined reference to `_fstat_r' /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/makebuf.c:95: undefined reference to `_malloc_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o):(.literal+0x0): undefined reference to `_read_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o):(.literal+0x4): undefined reference to `_lseek_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o):(.literal+0x8): undefined reference to `_write_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o):(.literal+0xc): undefined reference to `_close_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o): In function `__sread': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/stdio.c:48: undefined reference to `_read_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o): In function `__swrite': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/stdio.c:89: undefined reference to `_lseek_r' /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/stdio.c:97: undefined reference to `_write_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o): In function `__sseek': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/stdio.c:117: undefined reference to `_lseek_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-stdio.o): In function `__sclose': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/stdio.c:135: undefined reference to `_close_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(isatty.o): In function `_isatty_r': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/sys/xtensa/isatty.c:13: undefined reference to `_fstat_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-fclose.o): In function `_fclose_r': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fclose.c:102: undefined reference to `_free_r' /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fclose.c:104: undefined reference to `_free_r' /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fclose.c:106: undefined reference to `_free_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-fvwrite.o):(.literal+0x0): undefined reference to `_realloc_r' /Volumes/case-sensitive/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/lib/libc.a(lib_a-fvwrite.o): In function `__sfvwrite_r': /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fvwrite.c:143: undefined reference to `_malloc_r' /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fvwrite.c:154: undefined reference to `_realloc_r' /Volumes/case-sensitive/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libc/stdio/fvwrite.c:160: undefined reference to `_free_r' collect2: error: ld returned 1 exit status make: *** [build/httpd.out] Error 1

我想创建一种动画,以一种时钟方式为CAShapeLayer的笔触着色,然后,一个动画以相同的方向消除笔触颜色。这样可以有效地放置和删除笔划。

到目前为止,它看起来很像想要的东西,只是在第二次调用CALayer之前,笔画闪烁为“满”,然后消失了,然后动画再次播放。 / p>

我同意我的代码到目前为止还不是最好的,但是我一直在寻找解释,但没有找到任何有用的答案。

有人可以向我解释那里发生了什么吗?以及如何避免呢?

这是我的游乐场文件

fullAnimate

1 个答案:

答案 0 :(得分:1)

在空的动画块中添加以下两行,您可以轻松找出原因。

   func emptyAnimate(completion: @escaping ()->Void) {
    self.state = .progress
    circleProgressLayer.removeAllAnimations()
    CATransaction.begin()

  . .....
    animation.fillMode = .forwards
   animation.isRemovedOnCompletion = false

 ......

  }