我IB_DESIGNABLE在pod中使用时遇到了一些困难.
我创建了一个自定义视图,我将其标记为IB_DESIGNABLE并创建了一个使用它的示例项目.到目前为止没问题.
将该自定义视图添加为pod依赖项时会出现此问题.虽然项目已成功构建和运行,但在打开使用自定义视图的故事板时会出现错误.实时渲染过程启动并尝试在"界面"构建器中显示实时视图但它失败并显示以下错误:

这太糟糕了,因为我们失去了实时渲染,在我看来,这是Xcode 6的最佳功能之一.
我尝试过使用其他项目IB_DESIGNABLE并拥有podspec:
EAColourfulProgressView)HRButton)ESTIndoorLocationView)其他人在Estimote中遇到了同样的问题- 室内位置错误,但所描述的解决方案意味着失去了实时渲染功能.
有没有人能够IB_DESIGNABLE通过Cocoapods 使用组件?
错误:"无法从路径加载可设计项(null)"
我在嵌入的视图控制器之间有一个自定义推送转换,UINavigationController当使用iOS 7/8构建时它工作正常,但在针对iOS 9 SDK构建时呈现错误的布局.
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
[transitionContext.containerView addSubview:toViewController.view];
...
Run Code Online (Sandbox Code Playgroud)
然后它继续并执行动画.问题是toViewController,即使使用右上方布局指南自动布局约束,内容也会显示导航栏后面的内容.
尽管如此,它在iOS 8上运行正常,如果我们强制重绘(例如,将应用程序发送到后台并将其恢复,在顶部呈现模式并将其解除等)将导致整个自动布局系统重绘并且toViewController视图跳转到正确的位置(作为顶部布局指南,导航栏中的x像素,而不是设备屏幕顶部的x像素).
添加
[self.view setNeedsUpdateConstraints];
[self.view layoutIfNeeded];
Run Code Online (Sandbox Code Playgroud)
如果放入viewDidAppear:animated,但不起作用viewDidLoad或工作viewWillAppear:animated.这不是一个解决方案,因为用户会在重绘时看到视图跳跃viewDidAppear:animated
我有一个示例iOS 10应用程序请求授权照片库并在真实设备上崩溃,并出现以下崩溃错误:
PhotosAuthorizationCrashTest[2014:42551] [access] <private>
回购可以在这里找到
这是请求授权的代码(Swift 3.0):
private func requestAuthorizationIfNeeded() {
DispatchQueue.main.async {
let status = PHPhotoLibrary.authorizationStatus()
if status == .authorized {
return
}
PHPhotoLibrary.requestAuthorization({ (status) in
if status == .authorized {
return
}
NSLog("Could not get authorization to access photos")
})
}
}
Run Code Online (Sandbox Code Playgroud)