小编Mor*_*n J的帖子

使用自定义NSTextBlock保存和粘贴属性字符串

我正在尝试创建一个自定义NSTextBlock,就像Apple在WWDC 18上(在23分钟内)所做的那样。

完整的演示项目在这里

好的,所以当我用带有文本块的段落样式编辑和标记段落时,它的效果很好。

在此处输入图片说明

但是,当我剪切并粘贴它(或从磁盘归档/取消归档)时,它将丢失。编辑:它实际上将我的TweetTextBlock子类转换为NSTableViewTextBlock,这也说明了边界。

在此处输入图片说明

实作

这是完整的Xcode项目。使用Format顶部菜单项触发markTweet功能。

这是我将属性添加到段落的方法

    @IBAction func markTweet(_ sender : Any?){
    print("now we are marking")
    let location = textView.selectedRange().location


    guard let nsRange = textView.string.extractRange(by: .byParagraphs, at: location) else { print("Not in a paragraph"); return }

    let substring = (textView.string as NSString).substring(with: nsRange)

    let tweetParagraph = NSMutableParagraphStyle()
    tweetParagraph.textBlocks = [TweetTextBlock()]

    let twitterAttributes : [AttKey : Any] = [
        AttKey.paragraphStyle : tweetParagraph,
        AttKey.font : NSFont(name: "HelveticaNeue", size: …
Run Code Online (Sandbox Code Playgroud)

nslayoutmanager nstextview nsattributedstring textkit swift

6
推荐指数
1
解决办法
102
查看次数

使用HTML画布绘制一系列旋转线条

我想画这样的折线

在此输入图像描述

从一组角度和长度组成的数组(50和100,90和20,90和30等..)

有任何想法吗?

html5 canvas html5-canvas

4
推荐指数
1
解决办法
4981
查看次数

使用闪电线从OSX cocoa应用程序录制iOS设备的屏幕

在Quicktime中可以使用New Movie Recording> Camera dropdown>选择iOS设备.AppShowScreenflow都做到了.

我试过这个

AppleScript的

tell application "QuickTime Player"
set myrec to new movie recording
  tell myrec
      set current camera to video recording device named "Morten's iPod touch"
  end tell
end tell
Run Code Online (Sandbox Code Playgroud)

但这给了我

错误"QuickTime播放器出错:无法将视频录制设备"Morten的iPod touch"文件"电影录制"发送到名为"Morten的iPod touch"的视频录制设备"电影录制" ".数字-10006来自视频录制设备"莫滕的iPod touch"文件"电影录制"

AVFoundation 由于iOS设备在Quicktime中显示为相机,我认为它将是AVFoundation中的捕获设备,但此代码

for device in AVCaptureDevice.devices() {
    println(device)
}
Run Code Online (Sandbox Code Playgroud)

只是给我我的Facetime高清摄像头和麦克风.

macos cocoa quicktime avfoundation ios

4
推荐指数
1
解决办法
1837
查看次数

在Titanium for iPhone中防止睡眠

我试图在更长的时间内(一到两个小时)读取加速度计.

但是,当iPhone进入睡眠状态并锁定时,暂停读取加速度计读数.

我的setInterval计时器似乎运行正常.我也可以播放声音.

我看到两个解决方案

a)找到一种在锁定时读取加速度计的方法b)找到一种防止锁定的方法

我正在使用Titanium和JavaScript.

iphone accelerometer titanium

3
推荐指数
1
解决办法
2256
查看次数