每当我向XCode添加标签栏控制器时,标签栏显示为灰色,我看不到故事板中的任何标签.在运行时它显示正常.我无法弄清楚它为什么会发生.

我的全新项目遇到了非常令人沮丧的构建问题.我正在尝试集成Facebook iOS SDK,但出于某种原因我得到了一些奇怪的错误.尝试使用FBSDKLoginKit FBSDKLoginButton在故事板视图上显示时.
当我尝试时,第一个提示错误的是这个"错误" #import <FBSDKLoginKit/FBSDKLoginKit.h>(但它只在编辑器中显示为错误;它仍然编译好):
"无法构建模块FBSDKLoginKit."
奇怪的是,这个"错误"在摆弄了一些与模块相关的构建设置之后就消失了,即使我将它们设置回原始值也是如此.
同样有趣的是,如果我FBSDKLoginButton从我的视图控制器显式引用该类(例如以编程方式添加按钮),那么基于故事板的实例化工作正常.所以我猜这肯定是一些链接器问题或者其他什么,但我确实不是那个东西的专业人士.
Facebook SDK文档都没有提到我能找到的这个问题,这很奇怪,因为我说这是一个全新的清洁项目.
我有很多iOS经验,但Cocoa让我有些困惑.我阅读了几篇关于Cocoa的Apple文档,但仍然有一些我在任何地方都找不到的细节.看来文档是在基于NSDocument的Xcode模板更新为使用NSViewController之前编写的,所以我不清楚我应该如何组织我的应用程序.该模板使用NSWindow NSViewController创建一个故事板.
我的理解是我应该将NSWindowController或NSWindow子类化为对我的模型对象的引用,并在makeWindowControllers()中设置它.但是,如果我想使用NSViewController而不是只是将所有内容放在窗口中,我还需要以某种方式访问我的模型.我注意到在我的视图控制器中有一个叫做RepresentObject的东西,它似乎意味着要保存一些模型对象(然后被强制转换),但它总是为零.这是如何设置的?
我发现很难正确地提出这个问题,但我想我的问题是:如何在基于文档的应用程序中正确使用NSViewController?
PS:我知道NSWindowController通常用于管理多个窗口,这些窗口作用于一个文档,所以假设我只需要一个窗口,那么我就不需要NSWindowController.但是,要求可能会改变,从长远来看使用NSWindowController可能会更好,对吧?
cocoa nsdocument nsviewcontroller nswindowcontroller xcode-storyboard
从下图可以看出
故事板预览是一些平板电脑设备,我需要将其更改为最新的iphone或iphone 4s,我该怎么做?我也知道助理编辑器以及如何使用助理编辑器在多个设备上预览,这不是我想要的,我想改变故事板本身的预览
我之前已经问过类似的问题,但似乎没有什么对我有用.
我使用CocoaPods并安装框架"X".这可以是可以直接在故事板中编辑的任何内容.两个例子是"MBCircularProgressBar"和"UICircularProgressRing".
我将它添加到UIView并立即得到此错误.它搞砸了我的storbyboard,但应用程序运行正常.
我正在使用最新版本的Xcode,最新的MAC OS.
我试过了什么?
目前错误显示:
Main.storyboard: error: IB Designables: Failed to render and update auto layout status for Dashboard_UsageVC (mqT-RZ-029): dlopen(MBCircularProgressBar.framework, 1): no suitable image found. Did find:
MBCircularProgressBar.framework: required code signature missing for 'MBCircularProgressBar.framework'
Run Code Online (Sandbox Code Playgroud)
更新23.04.2018 - 仍未解决
还有这个问题.我已经走到极端并完全重置我的MAC.重新安装了一切.同样的问题.即使将CocoaPods降级到1.4.0而Xcode降级到以前的版本.为了避免把我所有的头发拉出来,我现在正在完成应用程序的其余部分,这里不需要什么特别的东西,并希望为这个更接近应用程序发布的魔术解决方案.
如果我在 Xcode 项目中打开其中一个故事板,我会收到此警报:
文档 [storyboard name] 有 4 个已发现并修复的问题。
这可能是由于 SCM 操作(例如合并)所致。请保存文档以解决问题。
多个资源具有相同的名称:groupTableViewBackgroundColor。
我尝试保存文档,但错误不断弹出。
这是什么,我该如何解决?
所以我UIScrollView在我的iPad应用程序上有一个子视图(它本身是所有控件的父级).滚动一切正常.旋转工作正常(整个视图适合纵向,在风景上滚动).一旦推出一个新的屏幕UINavigationController,然后回来打破它.
看起来滚动视图的子框架相对于滚动位置向上移动,但滚动视图保持在底部(整个子视图向上移动).
我已经尝试Constraints在故事板上进行战斗了几个小时,并且无法解决可能导致这种情况的原因.

我是OS X可可开发的新手,正在使用Storyboard for Yosemite开发Swift应用程序.
在我的应用程序的主窗口中,我有一个NSSplitViewController.对于左侧和右侧的每个面板,我添加了一个包含所有子视图的根自定义视图.

使用自动布局,我已将自定义视图固定到拆分视图中的视图边缘,并且还定义了自定义视图宽度的约束大于或等于最小数量.

一切正常.窗口打开时,窗口宽度是两个面板的最小宽度约束的总和.我无法弄清楚的是下一步.
如何为自定义视图提供另一个宽度约束,以便在窗口打开时,它的初始宽度高于最小值(比方说300)?我想要的是面板可以小到200,但我希望初始尺寸为300.我不希望窗口以允许的最小宽度打开.然后,用户每次都必须调整大小,这不是一个好的用户体验.
为了尝试实现这一点,我为自定义视图添加了具有较低优先级(尝试所有不同值200,500,800等)的300的另一个宽度约束,但它们都没有给出我想要的宽度值为300的结果并且面板的最小宽度为200.

必须有一种方法来实现这一目标,但我只是对如何做到难过.请帮忙!
更新
以下是NSSplitViewController视图的constraintsAffectingLayoutForOrientation的输出:
<NSLayoutConstraint:0x6000000923e0 H:|-(0)-[NSView:0x600000124c40] (Names: '|':NSView:0x600000124ba0 )>,
<NSLayoutConstraint:0x6000000924d0 H:[NSView:0x600000124c40]-(0)-| (Names: '|':NSView:0x600000124ba0 )>,
<NSLayoutConstraint:0x600000092070 H:[NSView:0x600000124c40(>=200)]>,
<NSLayoutConstraint:0x600000092660 _NSSplitViewItemViewWrapper:0x6000001416b0.width == NSView:0x600000124ba0.width>,
<NSLayoutConstraint:0x600000093a10 H:|-(0)-[_NSSplitViewItemViewWrapper:0x6000001416b0](LTR) (Names: '|':NSSplitView:0x608000123b60 )>,
<NSLayoutConstraint:0x600000093b50 H:[_NSSplitViewItemViewWrapper:0x6000001416b0]-(1)-[_NSSplitViewItemViewWrapper:0x6000001429f0](LTR)>,
<NSAutoresizingMaskLayoutConstraint:0x600000093d80 h=-&- v=-&- H:[NSSplitView:0x608000123b60]-(0)-| (Names: '|':NSView:0x6000001242e0 )>,
<NSAutoresizingMaskLayoutConstraint:0x600000093b00 h=-&- v=-&- H:|-(0)-[NSSplitView:0x608000123b60] (Names: '|':NSView:0x6000001242e0 )>,
<NSAutoresizingMaskLayoutConstraint:0x600000094050 h=-&- v=-&- H:|-(0)-[NSView:0x6000001242e0] (Names: '|':NSThemeFrame:0x100940be0'Main Window' )>,
<NSLayoutConstraint:0x600000093c40 H:[_NSSplitViewItemViewWrapper:0x6000001429f0]-(0)-|(LTR) (Names: '|':NSSplitView:0x608000123b60 )>,
<NSLayoutConstraint:0x600000092890 H:[NSView:0x600000124f60]-(0)-| (Names: '|':NSView:0x600000124ec0 )>,
<NSLayoutConstraint:0x6000000926b0 H:[NSView:0x600000124f60(>=400)]>,
<NSLayoutConstraint:0x608000099d20 _NSSplitViewItemViewWrapper:0x6000001429f0.width == NSView:0x600000124ec0.width>,
<NSLayoutConstraint:0x600000092840 H:|-(0)-[NSView:0x600000124f60] (Names: '|':NSView:0x600000124ec0 )>]
Run Code Online (Sandbox Code Playgroud)
由于要进行排序的大量限制,我决定制作一个全新的测试项目,看看这是开箱即用还是我在应用程序中更改的设置.在测试项目中,我刚刚删除了视图控制器,在窗口中添加了一个拆分视图控制器,并为每个面板添加了两个简单的文本视图.然后运行项目,左侧面板折叠.所以我为每个文本视图添加了一个最小宽度约束,然后在测试项目中发生了同样的事情.无论我在故事板中设置什么,窗口大小都是最小宽度的增加.也许唯一的方法是在代码中设置窗口/拆分视图大小.
我正在构建一个使用核心数据,NSDocument,故事板和Cocoa绑定的OS X应用程序.
我的期望是发生以下情况:
创建MyDocument(NSDocument子类)的实例.
MyDocument创建NSManagedObjectContext表示文档数据的核心数据.
MyDocumentNSWindowController通过其标识符从故事板中实例化一个.
在故事板中,窗口控制器包含DocumentEditorViewController(NSViewController子类),用于显示和编辑文档.
在故事板中,DocumentEditorViewController有一个NSArrayController绑定到MyDocument托管对象上下文.
在故事板中,DocumentEditorViewController有一个绑定到的表视图NSArrayController.
这样,UI中的任何更改都可以使用它NSManagedObjectContext,而无需任何粘合代码.
我希望这是直截了当的,因为我相信我正按照预期的方式使用这些技术.但是我无法使绑定工作,特别是在第5步和第6步.我发现的所有项目模板和示例项目都不使用Core Data,不使用故事板,或者不使用NSDocuments.
应该绑定哪些对象?NSArrayController的类,键和密钥路径应该是什么?
回答这个问题的另一种方法是指出一个使用所有这些技术的工作示例项目.
关闭后我遇到了很多问题,Xcode其中一个问题是Xcode Storyboard不再更新Custom Class Designables并且不显示内容.例如,我使用"SkyFloatingLabelTextField"之前完成了percclty所以我不能责怪图书馆.有什么方法可以强迫它更新吗?
我的意思是插图:
正如您所看到的,在第一张图片中我已经分配了自定义类,并且实际上textField我的viewController内部由于某种原因不再出现在Storyboard中,但可以在真实设备或模拟器上运行.
所以我能以某种方式强迫它吗?
我尝试删除类和所有运行时值,清理,构建关闭Xcode但没有任何工作.
xcode-storyboard ×10
xcode ×5
ios ×3
nsdocument ×2
autolayout ×1
cocoa ×1
core-data ×1
facebook ×1
macos ×1
objective-c ×1
osx-yosemite ×1
swift ×1
uiscrollview ×1
xcode12 ×1
xcode6 ×1