小编Viv*_*enG的帖子

图层支持的NSView旋转和倾斜的兄弟姐妹

我有一个奇怪的问题,支持图层的NSView和它的兄弟姐妹,当添加到附加到旋转的超视图的现有视图层次结构中时,其中一些不能正确呈现.以下是详细信息.

问题

- NSScrollView (layer can be here)
  - NSClipView (or here)
    - Document View (or even here)
      - Some *rotated* subview
        - { Problematic sublings }
Run Code Online (Sandbox Code Playgroud)

因此,层次结构本身相当简单和常见:带有一些文档的滚动视图,文档子视图代表一些内容.就我而言,它是图形内容,可以旋转.旋转视图可以有一些额外的子视图 - 各种标记,控制点等等,一旦我使用CALayer作为后端,我就会遇到偏斜图形的奇怪问题: 问题说明

相机图片是单独渲染的,它们不是此视图树的一部分,请注意标记和按钮.

正如您在图像上看到的,我有一些带有子视图的测试视图(只是随机按钮).始终正确呈现右侧的对象.根据我的测试,每个NSView与frameRotation之间[0, pi/2]呈现OK.左侧的对象呈现模糊,看起来此项的缓存缓冲区太小.它发生在frameRotation[pi/2, pi]范围内时.

最奇怪的是

在"实时轮换"中不会发生此问题.即如果我只是更改设置层次结构的frameRoation,每个子视图就在它的位置,一切正常.但是,当subling被添加到已经旋转的对象时 - 它会出现错误并给出这种模糊的外观.

在我的应用程序中,当用户点击项目时,会出现特殊子视图,即"兄弟姐妹被添加到超级视图中的那一刻".

看起来后端层有一些用于子视图的缓存缓冲区,其中一些在旋转根视图时使用错误的大小进行计算.

它是如何实现的以及我尝试了什么

  1. 这些视图非常简单和标准,我试图推动[view setWantsLayer:YES]层次结构的根视图:滚动视图,剪辑视图,文档视图,每个结果都是相同的.没有手工制作的层,没有层主机.
  2. 内容视图,兄弟节点和实际上整个视图树(上面提到的视图除外)没有图层.虽然,我试图为各种项目打开层而没有任何成功.
  3. 我试图强制更新(setNeedsDisplay)后端层没有运气
  4. 完全重新设置图层似乎是有效的,但是很难.

解决方案?

实际上,这就是问题所在.有人遇到过这样的问题吗?也许有人知道强制图层放弃所有缓存并完全更新的方法?到目前为止,我只有两个解决方案:要么完全放下图层(工作,也要转动所有的眼睛糖果),或者重新设置图层调用setWantsLayer:NO后跟setWantsLayer:YES.这个表现糟糕.

macos cocoa calayer nsview

56
推荐指数
1
解决办法
1155
查看次数

如何将图像放入Realm数据库?

我正在使用Swift 2编写iOS应用程序,我想在Realm数据库中本地保存帐户的个人资料图片.我找不到任何文件或人们谈论这个.

可能吗?如何?

这样做可能不好吗?

realm ios swift2

25
推荐指数
2
解决办法
2万
查看次数

如何在终端(ubuntu)上运行python脚本?

我是python的新手,我已经学习了几个星期.但是现在我刚刚改变了我的操作系统,我现在正在使用ubuntu而且我无法在终端上运行任何脚本.

我确保有,#!/usr/bin/env python 但是当我去终端并键入时,例如python test.py 终端显示这样的错误消息

python:无法打开文件'test.py':[Errno 2]没有这样的文件或目录

我该怎么办?
我必须将文件保存在任何特定的文件夹中,以使其在终端上运行?

python linux ubuntu

15
推荐指数
1
解决办法
18万
查看次数

Redis 连接 localhost 时出现错误 8:6379。提供节点名或服务名,或未知

我的环境是Mac OS 10.9.2,python3.3,redis-2.6.9(64位)。

我有很多线程(近2000个)使用同一个redis实例来写入数据,但是有些线程抛出以下异常:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 250, in connect
    sock = self._connect()
  File "/usr/local/lib/python3.3/site-packages/redis/connection.py", line 268, in _connect
    self.socket_timeout)
  File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 417, in create_connecti
on
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/threading.py", line 901, in _bootstrap_i
nner
    self.run()
  File "/usr/local/Cellar/python3/3.3.4/Frameworks/Python.framework/Versions/3.3/lib/python3.3/threading.py", line 858, in run
    self._target(*self._args, **self._kwargs)
  File …
Run Code Online (Sandbox Code Playgroud)

python macos redis python-3.3

10
推荐指数
1
解决办法
2万
查看次数

使用Swift列出iTunes共享文件夹中的文件

我想使用Swift在" 表格视图 "中列出我的iTunes共享文件夹中的所有文件. 我检查谷歌,没有人谈论它,看起来这是一个不寻常的需求,所以如果有人可以帮助它将是非常有帮助的.

编辑:我发现三个链接谈论它,但在Objective-C,我没有这种语言的经验.如果有人理解这一点,这里是链接.

http://www.exampledb.com/objective-c-get-itunes-file-sharing-folder-files-with-full-path.htm
http://www.infragistics.com/community/blogs/stevez/archive /2013/10/14/ios-objective-c-working-with-files.aspx
http://www.raywenderlich.com/1948/itunes-tutorial-for-ios-how-to-integrate-itunes-file-分享与-您- IOS-应用

xcode itunes swift xcode6 ios8

9
推荐指数
1
解决办法
3672
查看次数

我无法在eclipse中运行C程序

我一直在谷歌上搜索约2天.阅读并遵循了很多说明,但对我没有任何帮助(包括本网站的一些说明;我知道人们已经在这里提出了这个问题).我已经下载了Eclipse,安装了C/C++插件(窗口7,64位)但是当我运行HelloWorld.c程序时,我收到一条弹出消息:

发射失败.找不到二进制文件.

这是我在Eclipse中所做的:

  1. 窗口 - >首选项 - >新CDT项目向导 - > Makefile项目 - >二进制Parswer,确保有一个复选标记:"PE Window Parser".
  2. 项目 - >属性 - > C/C++构建 - >设置 - >二进制解析器,确保有"PE Window Parser"的复选标记.
  3. 项目 - >属性 - > C/C++构建 - >工具链编辑器:在当前工具链中,选择:Currect构建器中的交叉GCC,选择:Gnu Make Builder.
  4. 设置Eclipse CDT Auto Build

以下是我用于创建项目的步骤:

  1. 文件 - >新建 - > C项目.在"项目名称:"字段中输入"Hello".单击Next按钮,确保选中Debug和Release,再次单击Next按钮,单击Finish按钮.
  2. 右键单击Hello - > new - > Source File,输入HelloWorld.c,然后单击Finish按钮.输入以下代码:

    #include <stdio.h>
    int main()
    {
    printf("Hello, world!\n");
    return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 保存并单击"Hammer"图标以构建项目.然后我收到了这条消息:

做所有

无法运行程序"make":启动失败

错误:在PATH PATH中找不到程序"make"= [C:\ eclipse_Juno; C:/ Program Files(x86)/ Java/jre7/bin/client; C:/ …

c eclipse

5
推荐指数
1
解决办法
8609
查看次数

#define as unsigned char

我想知道如何告诉编译器a #define无符号字符.

#define SET_BITS_LOW 0x80
Run Code Online (Sandbox Code Playgroud)

默认情况下,这SET_BITS_LOW是一个int,但我想要一个unsigned char

c unsigned-char c-preprocessor

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

使用alamofire 2.0和Swift 2.0的POST请求

我尝试创建一个使用Alamofire发送POST请求的基本功能.

@IBAction func createBasicAccount(sender: AnyObject)
{
    var firstNameToSend = firstName.text
    var lastNameToSend = lastName.text
    var mailAddressToSend = mailAddress.text
    var passwordToSend = password.text
    var parametersToSend = [
        "firstName": firstNameToSend,
        "lastName": lastNameToSend,
        "mailAddress": mailAddressToSend,
        "password": passwordToSend
    ]

    print("Account creation")

    Alamofire.request(.POST, postEndpoint, parameters: parametersToSend, encoding: .JSON)
}
Run Code Online (Sandbox Code Playgroud)

但是Alamofire.request不会编译和编译返回:

Cannot convert value of type '[String : String?]' to expected argument type '[String : AnyObject]?'
Run Code Online (Sandbox Code Playgroud)

我试过了:

Alamofire.request(.POST, postEndpoint, parameters: parametersToSend as! AnyObject as? [String : AnyObject], encoding: .JSON)
Run Code Online (Sandbox Code Playgroud)

但失败了:

Account creation
Could not …
Run Code Online (Sandbox Code Playgroud)

ios alamofire swift2

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

OSX:使用默认读/写plist文件的一个内衬数组追加

我有两个客户提供的两个plist文件,每次必须手动更新。

首先,我可以提取所需的字符串。

defaults read /Applications/TestAPP/info.plist TestValue
TESTAPP-TESTAPP-TESTAPP
Run Code Online (Sandbox Code Playgroud)

第二个,我需要将先前的结果附加到第二个文件中的数组末尾。

defaults read /Applications/SecondTestAPP/info.plist TestValue2 
  <key>TEST</key>
    <array>
        <string>FIRSTONE</string>
        <string>SECONDONE</string>
        <string>THIRDONE</string>
    </array>
</dict> 
Run Code Online (Sandbox Code Playgroud)

而我需要添加TESTAPP-TESTAPP-TESTAPP<string>THIRDONE</string>
的任何想法?
我已经尝试过: defaults write /Applications/SecondTestAPP/info.plist '<dict><key>TestValue</key><array><string>TESTAPP-TESTAPP-TESTAPP</string></array></dict>'
但是它不起作用。

macos plist defaults

0
推荐指数
1
解决办法
2746
查看次数

PYTHON:如何将星号(*)作为命令行参数传递

我正在尝试制作一个在文件中搜索单词的python脚本.如果我通过txt它只会查看扩展名为.txt的文件,但我想传递*参数来搜索每个文件.

if sys.argv[4] == "*"
Run Code Online (Sandbox Code Playgroud)

不要工作,如果我尝试

print sys.argv[4]
Run Code Online (Sandbox Code Playgroud)

它打印脚本的名称

find.py
Run Code Online (Sandbox Code Playgroud)

但不一样

print sys.argv[0]
Run Code Online (Sandbox Code Playgroud)

因为它会回来

./find.py
Run Code Online (Sandbox Code Playgroud)

所以,有人已经遇到了这个问题,当然,解决了这个问题?

python

-2
推荐指数
1
解决办法
1550
查看次数