小编Har*_*ngh的帖子

Interface Builder是否有一种方法可以呈现不覆盖drawRect的IBDesignable视图:

我很少在我的UIView子类中覆盖drawRect,通常更喜欢layer.contents使用预渲染图像进行设置,并且经常使用多个子图层或子视图,并根据输入参数对这些图层进行操作.有没有办法让IB渲染这些更复杂的视图堆栈?

xcode objective-c interface-builder swift

63
推荐指数
5
解决办法
3万
查看次数

如何防止Interface Builder在子视图内容周围添加20pt填充?

IB,停止添加填充!

看到20px(相当于)填充?IB会在两种情况下自动执行此操作,当您点击Cmd + =自动调整超级视图以适合子视图内容时,以及何时选择Editor > Embed In > UIView, UIScrollView etc..

后者特别烦人,因为它需要一步一步节省时间并将其转换为重新定位麻烦,这比手动操作稍微好一点,并且在将它们拖动到不同位置时丢失所有子视图的相对位置层次结构.

另外,通过Embed In选项,IB将新的超级视图包装的位置移动(-20,-20),好像这样可以更好......

我在这里错过了什么吗?有没有办法防止这种填充?

xcode interface-builder ios

29
推荐指数
2
解决办法
2637
查看次数

UIPickerView不允许通过委托的`attributionTitleForRow ...`更改字体名称和大小

我使用以下函数来更改字体颜色和字体大小,颜色有效,但字体名称和字体大小拒绝工作.

func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? 

var myTitle = NSAttributedString(string: titleData, attributes: [NSFontAttributeName:UIFont(name: "Arial-BoldMT", size: 45)!, NSForegroundColorAttributeName:UIColor.whiteColor()])
Run Code Online (Sandbox Code Playgroud)

任何帮助?

谢谢.

size fonts cocoa uipickerview nsattributedstring

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

用于Web开发的Git,sub-repos和外部库 - 一劳永逸的最佳策略?

这是一个常见的情况,必须有一个明智的解决方案,但尽管阅读和丰富的Git体操,我的大脑疼痛,我无法做这项工作......

我正在使用Wordpress,尽管这适合大多数网站开发方案.我想用git repo管理站点安装,并且还可以在单​​独的repos中管理各种WP插件,jQuery插件和其他代码位,这些插件可以很容易地从外部源拉出/推送.在你看细节之前看起来很简单......

标准

"子文件夹"标准 不应将每个插件的文件夹绑定到其源库的根文件夹.许多repos有多个嵌套文件夹,例如"my-repo-name/...","dev /","test /","src /",其中后者的内容是所需的东西.这对于保持引用URL清洁并最大限度地减少公共垃圾很重要.

"无Proxys"标准 理想的解决方案不需要额外的中间分支或回购.将更改推送到插件的外部源应该很简单,不需要多次中间合并/推送.

"真实文件"标准 理想情况下,整个网站的外部存储库实际上应该包含插件子项目的文件(即没有"子模块").虽然我可以被说服远离这一个...

"发布"标准 它必须与rsync和/或git push'ing到现场服务器很好地兼容

我看过这五个解决方案

Git子模块简单到足以进行更改和推/拉但子模块在"子文件夹"和"实际文件"标准上失败

Git read-tree/subtree merge解决了"Real Files"问题,read-tree实际上让你引用了一个分支的子文件夹但是当我这样做并试图合并master上的更改上游时,Git没记住它来自一个子文件夹并且合并了master的整个结构进入ext libs跟踪分支...所以FAIL就这个标准.

Apenwarrs子树扩展(这里) 非常适合"真实文件"标准,并且相当简单的推/拉,直到您想要强制执行"子文件夹"规则.最好它似乎需要中间分支,您可以从远程跟踪分支中分离出所需的文件夹,然后将其作为子树添加到主分支.我没有太多运气将主人的变化合并/推送回源回购.我仍然认为这里可能存在......

与外部repo的符号链接 很好的解决方案,直到GIT在符号链接后停止.现在它失败了"真实文件"和"发布"标准

嵌套repos 在某处我看到了一个SO答案,如果你明确git add一个包含另一个repo并包含尾部斜杠的文件夹,git将不会对其进行子模块,而是跟踪单个文件.这似乎很有希望,但它在"子文件夹"标准上失败了.

接下来是什么?

我已经看到了"稀疏结账"的提法 - 或许是涉及分支修剪的事情.我希望避免一个涉及shell脚本的解决方案,或者是如此复杂以至于每次都要重新学习它(不经常)我会对插件进行更改.它需要比为每个插件维护一个单独的repo并从主CMS安装中来回复制更容易.

当然有人有一个简单的功能方式来使这个常见的开发场景工作?在此先感谢您的帮助...

git plugins content-management-system git-submodules

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

如何让`git clone --recursive`重新创建子模块的遥控器和分支?

我有一个带有一些子模块的项目.其中许多是从GitHub fork中克隆到的,我为自定义mod添加了一个分支.典型的设置如下:

在本地文件夹中:MyProject1/Frameworks/SomeAmazingRepo /

$ git branch -vva
*my-fork                       123456 [my-fork/my-fork] Latest commit msg from fork
master                         abcdef [origin/master] Latest commit msg from original repo
remotes/my-fork/my-fork        123456 [my-fork/my-fork] Latest commit msg from fork
remotes/my-fork/master         abcdef [origin/master] Latest commit msg from original repo
remotes/origin/HEAD            -> origin/master
remotes/origin/master          abcdef [origin/master] Latest commit msg from original repo

$ git remote -v
my-fork                        git@github.com:MyUser/SomeAmazingRepo.git (fetch)
my-fork                        git@github.com:MyUser/SomeAmazingRepo.git (push)
origin                         git://github.com/OriginalOwner/SomeAmazingRepo.git (fetch)
origin                         git://github.com/OriginalOwner/SomeAmazingRepo.git (push)
Run Code Online (Sandbox Code Playgroud)

git clone --recursive我的项目开始一个新的分拆计划,当它开始递归,它吐出了一个错误,声称它找不到这些回购存储的提交.检查后,似乎没有添加遥控器,并且分支机构在主机中留下(空)...

在本地文件夹中:MyProject2/Frameworks/SomeAmazingRepo /

$ git branch …
Run Code Online (Sandbox Code Playgroud)

git cloning git-clone git-remote git-submodules

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

在Swift中使用AudioBufferList

我在Swift中有一个桥接函数,其中一个参数在C中AudioBufferList *.在Swift中,这会生成一个UnsafePointer<AudioBufferList>.我设法通过调用来引用指针audioData[0](有更好的方法吗?).但我正在努力接下来的两个层次:他们和他们/ 成员的.mBuffers阵列. AudioBuffervoid *UnsafePointer<()> .mData

在C中它就是这样

Float32 *audioData = (Float 32*)abl->mBuffers[0]->mData;
output = audioData[sampleNum]...
Run Code Online (Sandbox Code Playgroud)

在Swift中,第一个奇怪的事情是它不会让我访问元素,mBuffers但是当我作为属性访问它时非常高兴.换句话说,这工作,甚至有正确的数据(对于mBuffers我认为的第一个成员)...

println(abl[0].mBuffers.mNumberChannels)  // But .mBuffers should be an []!
Run Code Online (Sandbox Code Playgroud)

其次,让我打印出.mData下标,但价值总是如此()

println(abl[0].mBuffers.mData[10])  // Prints '()'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种铸造操作和访问多个索引但无济于事......任何想法?

以下是C和Swift定义AudioBufferList,AudioBuffer为方便起见......

// C
struct AudioBufferList
{
    UInt32      mNumberBuffers;
    AudioBuffer mBuffers[1]; // this is a variable length array of mNumberBuffers elements
    // ...and a bit more for c++
}


struct …
Run Code Online (Sandbox Code Playgroud)

pointers casting objective-c ios swift

16
推荐指数
2
解决办法
6933
查看次数

仪器>分配未显示应用程序类/对象

在以前的Instruments版本中我没有问题,但现在(v6.2)由于某些原因Allocations不会列出我的任何应用程序的对象.我尝试过调试和发布模式:

带过滤器的空分配

注意,过滤器"VC"应该捕获所有ViewControllers.没有过滤器......

没有过滤器的分配

有任何想法吗?

xcode objective-c instruments ios

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

Xib需要很长时间(> 1s)来加载.UIFont缓存似乎应该受到指责

我从故事板上加载了UIVC,然后加载了一个Xib.这种内部负载导致VC花费超过一秒的时间来加载.内部xib中有一些花哨的步法(它加载另一个具有动态绘图的xib),但这似乎不是瓶颈.

根据仪器,UIFont -initWithCoder是罪魁祸首.(如果你进一步向下钻取TBaseFont::CopyLocalizedName()是占据1s时间大部分时间的最深入的条目)

我有点难过,因为我使用的自定义字体在整个应用程序中都没有出现问题.有任何想法吗?

仪器截图

optimization fonts caching xib ios

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

无法找到“React-Codegen”的规范

我正在尝试将继承的项目从 React Native 0.64 升级到 0.68。我遇到了许多与 Cocoapod 相关的错误,特别是React-Codegen在 React-native npm 包中不再作为 podspec 存在的错误。

奇怪的是,我无法在线参考其他遇到此特定 podspec 问题的人。这通常意味着还有其他问题,这是一个“红鲱鱼”。

下面是我的 Podfile 的一个子集。我想知道设置是否已更改,以便我不再需要显式声明所有这些 pod 依赖项?有人有主意吗?

  pod 'React', :path => '../node_modules/react-native/', :modular_headers => false
  pod 'React-Core', :path => '../node_modules/react-native/', :modular_headers => false
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules', :modular_headers => false
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/', :modular_headers => false
  pod 'React-perflogger', :path => "../node_modules/react-native/ReactCommon/reactperflogger", :modular_headers => false # dep for DevSupport
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS', :modular_headers => false
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation', …
Run Code Online (Sandbox Code Playgroud)

dependencies ios cocoapods reactjs react-native

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

在iOS上手动播放蓝牙MIDI,无需CABTMIDILocalPeripheralViewController

我刚刚发现CABTMIDILocalPeripheralViewControlleriOS用于处理启用蓝牙MIDI可发现性的用户设置.这很好,但是为了将蓝牙集成到我的应用程序的网络MIDI连接的其余部分,能够直接从我的应用程序的代码处理启用而不是依赖这个不透明的VC是很好的.有谁知道这是否可能?

bluetooth ios coremidi bluetooth-lowenergy ios9

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