[文章]如何高效使用Sketch

自从知道xcode6支持使用矢量图后就开始用sketch,顺手记录下使用中的一些能够提高效率的方法

Sketch适用范围

sketch主要是做图标和界面的。如果是板绘或者处理照片还是用Photoshop之类的比较合适。和ps相比,sketch的优势是开启速度会快很多,是用来原生开发,支持退出后再开启保持退出状态等特点,这些都是ps所没有的。

图层操作

  • command+d复制图层,或者按住option键拖动
  • 按住shift键能够选择多个图层
  • 按住shift键能够能够严格按照垂直活水平移动
  • 按住shift键改变图层大小是按等比变化
  • 按command加上方向键会精确到像素的调整
  • 图层透明度可以使用快捷键进行调节,选中一个图层按1到9的数字快速将图层透明度从10%到90%,按0调成100%
  • command+shift+l 锁定图层

绘制图形

  • 可以在Insert > Shape里找到预设的一些图形,比如圆形,方形等基本图形。按o添加圆,r添加矩形,l添加直线,u添加圆角矩形,t添加文本
  • 按v可以自己绘制图形
  • 绘制时按住shift画Sketch会自动按45度对齐前一个点适合绘制直线
  • 善用布尔运算将简单的图形组合成复杂的图形,布尔运算有四种,合并形状(Union),减去顶层形状(Substract),与形状区域相交(Intersect),排除重叠形状(Difference)
  • 布尔运算后可以使用扁平化功能(Flattening),使用后会将其合并成一个图形
  • 复制旋转是个比较有意思的功能,能够很方便绘制出类似花瓣的效果,通过菜单进入 图层 > 路径 > 复制旋转 (Layer > Paths > Rotate Copies)即可。如果希望让复制的图形独立出来,可以分离路径通过菜单 编辑 > 路径 > 分离 (Layer > Paths > Split)即可。
  • 画出粗细不均效果的线条效果可以使用描边宽度 通过菜单进入 图层 > 路径 > 描边宽度 (Layer > Paths > Stroke width),然后点击希望加宽的地方以添加锚点拖动使之变宽
  • 填充可以按从下到上的顺序叠加
  • 选中图层control+command+m创建蒙版
  • control+c会出现放大镜,然后可以方便选择颜色替换当前选择对象的颜色

画布的控制

  • 使用空格进行抓手移动画布
  • 按command加鼠标滚轮进行画布放大和缩小
  • control+p能够切换到像素模式查看,相当于输出png后点开图片查看的效果。
  • control+g开启关闭网格
  • 按住option键能够看到各个对象之间的距离
  • command+1缩小至能看到所有对象,command+2放大到选中对象到屏幕适合的大小,command+0缩小至100%
  • Symbol共享元素,一次编辑所有地方都能够生效。

什么会影响Sketch的性能

  • 模糊
  • 阴影
  • 多页面
  • 文本转轮廓

资源

优秀教程

[文章]在swift中如何分组显示所有iPhone上的字体

以后需要挑选字体就方便了。

import UIKit

class FontShowVC: UITableViewController {

    var fontFamilyNames = []
    var showText:String!

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "fontShowCell")
        showAllFonts()
        self.title = "所有字体"
        showText = "Starming 星光社"
        fontFamilyNames = UIFont.familyNames()
    }

    //控制台打印
    func showAllFonts() {
        let familyNames = UIFont.familyNames()
        for familyName in familyNames {
            let fontNames = UIFont.fontNamesForFamilyName(familyName as String)
            for fontName in fontNames {
                println("font:(fontNames)")
            }
        }
    }

    // MARK: - Table view data source
    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return fontFamilyNames.count
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        let familyName: AnyObject = fontFamilyNames.objectAtIndex(section)
        let ret = UIFont.fontNamesForFamilyName(familyName as String)
        if ret.count > 0 {
            return ret.count
        } else {
            return 0
        }

    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let reuseString = "fontShowCell"
        var cell = tableView.dequeueReusableCellWithIdentifier(reuseString) as UITableViewCell
        cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: reuseString)
        let familyName: AnyObject = fontFamilyNames.objectAtIndex(indexPath.section)
        let ret = UIFont.fontNamesForFamilyName(familyName as String)
        let fontName = ret[indexPath.row] as String
        cell.textLabel?.text = showText
        cell.textLabel?.font = UIFont(name: fontName, size: 15)
        cell.detailTextLabel?.text = fontName
        return cell
    }

    override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return fontFamilyNames.objectAtIndex(section) as? String
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

[文章]普通用户如何使用Mac OS X系统

如果你是来自Windows的用户,首先要忘记Windows,不要在Mac机器上安装双系统。忘记磁盘整理的概念,忘记杀毒软件以及360

浏览器

最常用的是浏览器,这里使用系统自带的Safari就好,Chrome for mac和firefox也不错。

和触摸板的完美结合

  • 双指上下滑动浏览网页和文档
  • 双指左右滑动控制前进和后退
  • 双指双击网页Safari会将点击的文本区域缩放到合适的大小方便阅读
  • 三指单击文本中的单词会弹出单词的解释
  • 还有很多,具体可以在设置里进行开启关闭的设置。比如试试四指往上滑动,还有四指往里一捏看看。

看视频

系统自带的QuickTime很多格式没法看,目前比较流行的是使用MPlayerX,这里我推荐的是VLC,很多MPlayerX播放的不流畅视频放到VLC里就能够很顺畅的播放,而且VLC相较于MPlayerX多了播放列表的功能。网络视频可以选择对应网站的客户端即可,比如爱奇艺,PPTV和搜狐影音的Mac客户端

听音乐

网易云音乐绝对是首选,QQ音乐

游戏

经典的游戏都有,比如说使命召唤,魔兽世界,暗黑破坏神3,炉石传说,魔兽争霸3,星际争霸2,英雄联盟,文明5,家园,古墓丽影。我这里还要推荐一个模拟器软件OpenEmu,目前能够支持GBA,NDS,未来会支持PSP。

社交

目前QQ微信都已推出了Mac客户端,微信登录时需要手机扫下来登录,Mac端的QQ功能跟Windows版比起来会少很多,当然也会清爽很多。

文档处理

  • Word等文件可以使用微软的Office for Mac
  • 普通的文本文件可以使用Sublime Text
  • Markdown文件推荐MacDown或者Mou,本文是用MacDown写的
  • 做笔记和资料整理建议使用Evernote

字典

使用系统自带的“词典”即可,中英,英中都有。如果有比较专业的词汇会直接给出维基百科的内容

邮件收取

推荐使用Foxmail

查看系统运行状态

这里推荐iStat Menus,在顶部bar上实时查看硬盘和内存剩余使用情况,机器温度,cup占用,网络使用等情况。

使用快捷键提交效率

基本快捷键包括,cmd+q(退出程序),cmd+w(关闭标签),cmd+tab(呼出程序切换),cmd+h(隐藏当前程序),cmd+`(同程序间任务切换)

关机

如果是用的SSD,直接合盖走人就像手机和iPad一样。机械硬盘就等呼吸灯好了再走

我的软件清单

浏览器视频音乐游戏社交文档开发设计工具
Safari QuickTime 网易云音乐 OpenEmu QQ Sublime Text Xcode Photoshop iStat Menus
Chrome MPlayerX - - - 备忘录 Versions Sketch CleanMyMac
- VLC - - - MacDown GitHub - Foxmail
- - - - - 印象笔记 SourceTree - Transmit

[绘画]权利的游戏里的罗柏·史塔克和提利昂·兰尼斯特

[文章]使用十六进制值来表示UIColor的颜色

在swift中扩展UIColor

import UIKit

extension UIColor{

    class func colorWithHex(hex: String, alpha: CGFloat = 1.0) -> UIColor {
        var rgb: CUnsignedInt = 0;
        let scanner = NSScanner(string: hex)

        if hex.hasPrefix("#") {
            // skip '#' character
            scanner.scanLocation = 1
        }
        scanner.scanHexInt(&rgb)

        let r = CGFloat((rgb & 0xFF0000) >> 16) / 255.0
        let g = CGFloat((rgb & 0xFF00) >> 8) / 255.0
        let b = CGFloat(rgb & 0xFF) / 255.0

        return UIColor(red: r, green: g, blue: b, alpha: alpha)
    }
}