小编use*_*972的帖子

UISearchController搜索栏隐藏了tableview中的第一个单元格

我有一个带有搜索栏的tableview.搜索栏由UISearchController提供.当我将搜索栏添加到表的标题视图时,表的第一行将被搜索栏覆盖.

如何防止搜索栏隐藏第一行?

我在viewDidLoad中有这个片段:

self.searchController = UISearchController(searchResultsController: nil)
self.searchController.searchResultsUpdater = self
self.searchController.searchBar.delegate = self     
self.tableView.tableHeaderView = self.searchController.searchBar
self.searchController.dimsBackgroundDuringPresentation = false
self.searchController.searchBar.sizeToFit()
Run Code Online (Sandbox Code Playgroud)

uitableview uisearchcontroller

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

什么是CGSUpdateManager,为什么抱怨?

我正在使用我的用户界面,试图通过一大堆嵌套的NSSplitViewControllers,NSTabViewControllers等来导航我的数据.

在某些时候,我得到这些错误警告.我不知道他们来自哪里,甚至在哪里看.该应用程序似乎工作正常.

什么是CGSUpdateManager,为什么抱怨?

void CGSUpdateManager::log() const: conn 0xdbbb token 0x2ffffffffffdc78 Backtrace (at 5543.57):
void CGSUpdateManager::log() const:  0   CoreGraphics                        0x00007fff85db9215 CGSBacktraceCreate + 59
void CGSUpdateManager::log() const:  1   CoreGraphics                        0x00007fff85dd8688 _ZN16CGSUpdateManager14disable_updateEv + 84
void CGSUpdateManager::log() const:  2   AppKit                              0x00007fff897f3de5 -[NSWindow disableScreenUpdatesUntilFlush] + 127
void CGSUpdateManager::log() const:  3   AppKit                              0x00007fff897b3250 -[NSView _gainedLayerTreeHostAncestor] + 385
void CGSUpdateManager::log() const:  4   AppKit                              0x00007fff897b30ae -[NSView _recursiveGainedLayerTreeHostAncestor] + 27
void CGSUpdateManager::log() const:  5   AppKit                              0x00007fff897b767a -[NSScroller _recursiveGainedLayerTreeHostAncestor] + 103
void CGSUpdateManager::log() const:  6   AppKit                              0x00007fff89a1ea56 -[NSScroller _setSurfaceBacked:] + …
Run Code Online (Sandbox Code Playgroud)

cocoa nsviewcontroller swift

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

如何将openssl添加到swift项目中

我正在学习如何在我的iOS/OSX项目中添加应用内购买收据验证.

有一个很好的概述这里和WWDC14对这个话题好影片.

大量的示例代码,但每个人都跳了一步.如何导入openSSL标头.swift编译器抱怨没有这样的模块.

import Foundation
import StoreKit
import openssl  //no such module ???
Run Code Online (Sandbox Code Playgroud)

在编写一行代码之前,我已经陷入困境.openssl框架隐藏在哪里?

openssl storekit in-app-purchase receipt-validation swift

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

swift中的指针:UnsafeMutableBufferPointer的目的

目前正在寻找快速指针.

UnsafePointerUnsafeMutablePointer提供指向字节的指针.通过使用指针运算,您可以访问其余的字节.

类似的东西可以用a来完成UnsafeMutableBufferPointer,它有一个endIndex参数.那么在访问例如字节时使用UnsafeMutableBufferPointerover 的优点/区别是什么?UnsafeMutablePointerNSData

pointers swift

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

为什么有两个括号[在c ++顶点函数中?

我正在观看Apple关于Metal和MetalKit的介绍视频.

着色器的示例代码具有这些双括号,如[[buffer(0)]]参数.为什么有两个括号?这是否意味着什么,或者只是表明关键字"缓冲区"跟随?标准c ++中没有这样的构造,有吗?

vertex Vertex vertex_func(constant Vertex *vertices [[buffer(0)]],
                              constant Uniforms &uniforms [[buffer(1)]],
                              uint vid [[vertex_id]])
Run Code Online (Sandbox Code Playgroud)

还有什么是一个好的1或2周有趣的项目作为GP-GPU的介绍?对于具有良好数学技能但没有艺术技能的新手来说,这是可以管理的.

c++ shader metal metalkit

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

识别iOS文件包(在Simulator和Finder中)

我正在尝试使用iOS应用程序的文件包来定义UTI类型.在谷歌搜索并查看Xcode.plist中的条目后,我尝试了一些事情,但一直遇到问题.我的应用程序创建了一些测试文档,然后尝试使用我的自定义UTI读取这些文件.

如果我没有指定"LSItemContentTypes",那么finder会正确地将它们视为包.但是mdls将"dyn.longstring"作为kMDItemContentType返回.

如果我指定"LSItemContentTypes",则kMDItemContentType是正确的.但是finder将其视为文件夹.

在这两种情况下,我通过UTI

[url getResourceValue:&UTI
forKey:NSURLTypeIdentifierKey
error:nil];
Run Code Online (Sandbox Code Playgroud)

是不正确的.它要么返回"dyn.longstring",要么返回"public.folder".我的应用程序因为UTI不正确而未加载这些文件.我可以改写这个但是想用UTI的正确方法做到这一点.

我将iOS文件包定义为文档类型并导出UTI类型,如下所示.我在俯瞰什么?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>tdp</string>
        </array>
        <key>CFBundleTypeName</key>
        <string>MyFilePackage</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>reverse.dns.ios.package</string>
        </array>
        <key>CFBundleTypeIconFile</key>
        <string>Default</string>
        <key>LSIsAppleDefaultForType</key>
        <true/>
        <key>LSTypeIsPackage</key>
        <true/>
    </dict>
</array>
</plist>


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename.extension</key>
            <array>
                <string>tdp</string>
            </array>
        </dict>
        <key>UTTypeIdentifier</key>
        <string>reverse.dns.ios.package</string>
        <key>UTTypeConformsTo</key>
        <array>
            <string>com.apple.package</string>
            <string>public.composite-content</string>
        </array>
    </dict>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)

finder uti ios

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

CGContextSetTextMatrix 的作用是什么?

我不确定这个函数的作用或应该做什么。

\n
void CGContextSetTextMatrix (\n   CGContextRef c,\n   CGAffineTransform t\n);\n
Run Code Online (Sandbox Code Playgroud)\n

参考资料并不是那么有帮助。:(

\n
\n

设置当前文本矩阵。

\n

文本矩阵指定从文本空间到用户空间的变换。为了生成用于在页面上实际绘制文本的最终文本渲染矩阵,Quartz 将文本矩阵与当前变换矩阵和图形状态中的其他参数连接起来。

\n

注意,文本矩阵不是图形状态的一部分\xe2\x80\x94保存或恢复图形状态对文本矩阵没有影响。文本矩阵是图形上下文的属性,而不是当前字体的属性。”

\n
\n

你能给我解释一下吗?

\n

core-text ios

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

使用计时器定期更新NSTableCellView内的文本字段

我有一个由几个自定义NSTableCellView组成的tableView.一些视图必须与NSProgressIndicator一起显示计时器(已经过了多少时间).

我创建了一个计时器(带有中央显示器),每100毫秒我用setNeedsDisplay更新textView(或swift中的.needsDisplay = true).

我在具有NSTextField的常规视图中工作的代码很好,但是一旦文本字段是NSTableCellView的一部分,它就无法工作.计时器触发,但不重绘该字段.

如果我从viewController中每100毫秒重新加载整个表,它也无法工作.在任何情况下重新加载整个表都不是一个好的解决方案,因为选择每100毫秒丢失一次并且用户不能再编辑(常规)单元格.

那么我应该如何每秒在整个tableview的几个单元格中重新加载一个特定的textField呢?

@IBDesignable class ProgressCellView : NSTableCellView
{
//MARK: properties
@IBInspectable var clock : Bool = false //should this type of cell show a clock? (is set to true in interface builder)

private lazy var formatter = TimeIntervalFormatter() //move to view controller?: 1 timer for the entire table => but then selection is lost
private var timer : dispatch_source_t!
private var isRunning : Bool = false

//MARK: init
override func awakeFromNib()
{
    self.timeIndex?.formatter = formatter …
Run Code Online (Sandbox Code Playgroud)

timer nstableview grand-central-dispatch swift

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

迅速列举的期权

有没有更好的方法来做到这一点?看起来更好的语法明智的东西?

let a : [Any] = [5,"a",6]
for item in a { 
  if let assumedItem = item as? Int {
     print(assumedItem) 
  } 
}
Run Code Online (Sandbox Code Playgroud)

这样的东西,然后用正确的语法?

  for let item in a as? Int { print(item) }
Run Code Online (Sandbox Code Playgroud)

optional fast-enumeration swift

5
推荐指数
2
解决办法
4286
查看次数

CMAKE:在 clang/g++ 和 libc++/libstdc++ 之间切换

这是我的第一个 cmake 文件。我有一个带有 clang 和 g++ 的 linux 系统。还安装了 libc++。我在 Mac (xcode) 上开发但部署到 linux。我正在编写一个 cmake 文件,我可以在其中选择 clang 或 g++ 和 libc++ 或 libstdc++。所以有 4 种可能的组合。

我想出了如何选择编译器并在其上强制使用 c++11,但我无法弄清楚如何指定标准库。有什么建议?

这是我到目前为止:

## cmake ###
cmake_minimum_required (VERSION 3.5)

#set project directories
set(ProjectDirectory ${CMAKE_SOURCE_DIR}) #.../Project/
set(BuildDirectory ${ProjectDirectory}/Build)
set(ProductDirectory ${ProjectDirectory}/Products)
set(sourceDirectory ${ProjectDirectory}/Source)

#print project directories
message(${ProjectDirectory})
message(${BuildDirectory})
message(${ProductDirectory})

#configure cmake
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ProductDirectory})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${ProductDirectory})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${ProductDirectory})

set(CMAKE_VERBOSE_MAKEFILE on)

#compiler and standard library settings
set(CMAKE_CXX_COMPILER "clang++")
set(CMAKE_CXX_STANDARD 11)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -v -stdlib=libc++")
        #libstdc++ #linux
        #libc++    #OS X …
Run Code Online (Sandbox Code Playgroud)

g++ cmake libstdc++ clang++ libc++

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