mhtt
V2EX  ›  问与答

请问,dropbox 在 osx 上创建一个带有图标的文件夹是如何做到的?

  •  
  •   mhtt · Jul 12, 2014 · 3885 views
    This topic created in 4348 days ago, the information mentioned may be changed or developed.
    osx上,在 ~ 该目录下的所有文件夹都是带有icon的,如 Desktop, Pictures, Public等等,在这里新建了一个文件夹,没有带icon,想统一风格创建一个带有icon的文件夹,有点强迫症。
    12 replies    2014-07-14 00:41:26 +08:00
    47jm9ozp
        1
    47jm9ozp  
       Jul 12, 2014   ❤️ 1
    比如在苹果机下图表上的小对号,这个 API 不存在(直到10.10),但又至关重要。于是,Dropbox 把自己注入到了 Finder 进程里,重写了图标渲染的函数......

    ref http://www.zhihu.com/question/24168100
    orzfly
        2
    orzfly  
       Jul 12, 2014
    Get Info, 用鼠标点一下弹出窗口里左上角的文件图标,选中它,然后按 ⌘C 和 ⌘V 试试~
    cquzc
        3
    cquzc  
       Jul 13, 2014
    dropbox的文件夹拖到左侧收藏栏还是他们自己的图标,但是onedrive的文件夹拖过去就变成一般文件夹的样子了,谁知道怎么修改吗?
    mhtt
        4
    mhtt  
    OP
       Jul 13, 2014
    @orzfly 感谢,但有办法添加一个没有过的icon么,自定义icon,这种方式只能从其他已存在的文件夹复制过来
    S1ahs3r
        5
    S1ahs3r  
       Jul 13, 2014
    @mhtt png跟icns(是这个格式不?)文件直接拖上去就ok
    lrz0lrz
        6
    lrz0lrz  
       Jul 13, 2014
    每个自定义图标的文件夹里都有一个Icon文件:

    具体内容不了解。
    Sylv
        7
    Sylv  
       Jul 13, 2014 via iPhone   ❤️ 1
    @cquzc 左侧收藏栏图标同样没有 API,Dropbox 逆向工程了 Finder 以实现了自定义图标,但是具体方法并没有公开,所以基本上我们没有办法自定义其它侧边栏图标
    mhtt
        8
    mhtt  
    OP
       Jul 13, 2014
    @S1ahs3r png不行,icns完美!
    mhtt
        9
    mhtt  
    OP
       Jul 13, 2014
    @lrz0lrz dropbox是Icon?<--这里的?号不是疑问是和Icon在一起的文件名
    lrz0lrz
        10
    lrz0lrz  
       Jul 13, 2014
    @mhtt 都是Icon? ,那个字符在Finder里不显示,在Term里是问号。
    但具体是怎么实现的就不知道了。
    mhtt
        11
    mhtt  
    OP
       Jul 13, 2014
    @lrz0lrz 对的,Term里是带有问好,Finder里面是隐藏文件
    wolegequ
        12
    wolegequ  
       Jul 14, 2014
    dropbox 在 windows 下做了类似的效果 在windows下貌似用的是BHO技术
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5503 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 08:33 · PVG 16:33 · LAX 01:33 · JFK 04:33
    ♥ Do have faith in what you're doing.