标签: interface-builder

这是什么意思?"'NSUnknownKeyException',原因:...此类不是键值X的键值编码兼容"

我正在尝试将a UILabelIBOutlet我班级中的创建链接起来.

我的应用程序崩溃,出现以下错误.这是什么意思?我该如何解决?

***由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:此类不是密钥XXX的密钥值编码.

macos cocoa cocoa-touch interface-builder ios

1143
推荐指数
28
解决办法
83万
查看次数

加载的笔尖但"视图"插座未设置

我在项目中添加了一个新的nib文件,并尝试加载它.

但是,当我点击应该带我到我创建的视图的工具栏图标时,我得到一条NSInternalInconsistencyException消息:

由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:' - [UIViewController _loadViewFromNibNamed:bundle:]加载了"..."笔尖,但未设置视图插座.

所以我打开了我的nib文件,我看到没有设置引用插件的视图.但是,我尝试单击并将"新引用插座"的圆圈拖动到文件所有者,但它不会让我...我需要做什么才能显示我的视图?

cocoa-touch interface-builder xib ios

722
推荐指数
15
解决办法
24万
查看次数

Xcode 6 Bug:Interface Builder文件中的未知类

我升级到Xcode 6 beta 4,现在我的应用程序不断崩溃

Interface Builder文件中的未知类X.

它崩溃了,因为据说Xcode找不到我在Storyboard中链接的自定义类,但它显示它们在Xcode界面中正确链接.

我很肯定一切都是正确的.我唯一的另一个选择可能是删除整个故事板文件并从头开始,因为它可能会以某种方式损坏.

编辑:我还想补充一点,我尝试清理,重置模拟器,弄乱构建阶段等.这些都不起作用.

xcode interface-builder ios uistoryboard xcode6

584
推荐指数
22
解决办法
20万
查看次数

如果IBOutlets在ARC下是强还是弱?

我正在使用ARC专门为iOS 5开发.应该IBOutlets UIView(和子类)是strongweak

下列:

@property (nonatomic, weak) IBOutlet UIButton *button;
Run Code Online (Sandbox Code Playgroud)

将摆脱所有这一切:

- (void)viewDidUnload
{
    // ...
    self.button = nil;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么问题吗?模板正在使用strong,当从"Interface Builder"编辑器直接连接到标题时创建的自动生成属性,但为什么?在UIViewController已经有一个strong到其基准view保留其子视图.

cocoa-touch objective-c interface-builder ios automatic-ref-counting

542
推荐指数
10
解决办法
12万
查看次数

UIScrollView可滚动内容大小模糊

各位开发者,我在Interface Builder(Xcode 5/iOS 7)中遇到AutoLayout问题.这是非常基本和重要的,所以我想每个人都应该知道这是如何正常运作的.如果这是Xcode中的一个错误,那就是一个关键错误!

所以,每当我有一个像这样的视图层次结构时,我遇到了麻烦:

>UIViewController
>> UIView
>>>UIScrollView
>>>>UILabel (or any other comparable UIKit Element)
Run Code Online (Sandbox Code Playgroud)

UIScrollView具有可靠的约束,例如,每侧50 px(没问题).然后我向UILabel添加一个Top Space约束(没问题)(我甚至可以固定标签的高度/宽度,不做任何改变,但由于Label的内在大小,应该是不必要的)

当我向UILabel添加尾随约束时,麻烦就开始了:

例如,尾随空间:Superview等于:25

现在出现了两个警告 - 我不明白为什么:

A)可滚动内容大小歧义(滚动视图具有不明确的可滚动内容高度/宽度)

B)错位视图(预期标签:x = -67实际值:x = 207

我在一个新的项目中做了这个最小的例子,你可以下载并附上截图.如您所见,Interface Builder期望Label位于UIScrollView边界之外(橙色虚线矩形).使用Resolve Issues Tool更新Label的框架会将其移动到那里.

请注意:如果用UIView替换UIScrollView,行为就像预期的那样(Label的框架是正确的,并且根据约束条件).所以似乎UIScrollView存在问题,或者我错过了重要的事情.

当我按照IB的建议运行应用程序而不更新Label的框架时,它定位得很好,正好在它应该是的位置,并且UIScrollView是可滚动的.如果我更新框架,标签不在视线范围内,UIScrollView不会滚动.

帮助我Obi-Wan Kenobi!为什么模棱两可的布局?为什么错位的观点?

你可以在这里下载示例项目,如果你能弄清楚发生了什么就试试:https: //github.com/Wirsing84/AutoLayoutProblem

Interface Builder中的问题的插图

interface-builder uiscrollview ios autolayout swift

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

如何在隐藏视图时使用自动布局移动其他视图?

我在IB中设计了自定义Cell,将其子类化并将我的插座连接到我的自定义类.我在单元格内容中有三个子视图:UIView(cdView)和两个标签(titleLabel和emailLabel).根据每行可用的数据,有时我想在我的单元格中显示UIView和两个标签,有时只有两个标签.我想要做的是设置约束,如果我将UIView属性设置为隐藏或我将从superview中删除它,两个标签将移动到左侧.我尝试将UIView前导约束设置为10px的Superview(单元格内容)和UILabels将10 px的约束引导到下一个视图(UIView).稍后在我的代码中

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(IndexPath *)indexPath {
...
Record *record = [self.records objectAtIndex:indexPath.row];

if ([record.imageURL is equalToString:@""]) {
     cell.cdView.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)

我隐藏了我的cell.cdView,我希望标签向左移动,但是它们在Cell中保持相同的位置.我试图从superview中删除cell.cdView,但它也没有用.我附上图片来澄清我的意思.

细胞

我知道如何以编程方式执行此操作,而我不是在寻找解决方案.我想要的是在IB中设置约束,并且如果删除或隐藏其他视图,我希望我的子视图将动态移动.是否可以在具有自动布局的IB中执行此操作?

.....
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch interface-builder ios autolayout

321
推荐指数
12
解决办法
16万
查看次数

无法插入新的插座连接:无法找到已命名的类的任何信息

我在Xcode上遇到错误,说没有关于视图控制器的信息.

无法插入新的插座连接:无法找到已命名的类的任何信息

为什么会这样?

截图1

xcode interface-builder iboutlet ios swift

281
推荐指数
9
解决办法
14万
查看次数

Cocoa Touch:如何改变UIView的边框颜色和厚度?

我在检查员看到我可以改变背景颜色,但我也想改变边框颜色和厚度,这可能吗?

谢谢

iphone cocoa-touch objective-c interface-builder ios

274
推荐指数
7
解决办法
20万
查看次数

"Interface Builder文件中的未知类<MyClass>"在运行时出错

即使Interface Builder知道a MyClass,我在启动应用程序时也会收到错误.

当它MyClass是库的一部分时会发生这种情况,如果我直接在应用程序目标中编译该类,则不会发生这种情况.

xcode cocoa cocoa-touch interface-builder

259
推荐指数
18
解决办法
17万
查看次数

如何使用Interface Builder创建的nib文件加载UIView

我正在尝试做一些精心设计的事情,但这应该是可行的.所以这里对你所有的专家都是一个挑战(这个论坛是你们很多人的一部分:)).

我正在创建一个问卷调查"组件",我想在NavigationContoller(我的QuestionManagerViewController)上加载."组件"是"空" UIViewController,可以根据需要回答的问题加载不同的视图.

我这样做的方式是:

  1. 创建Question1View对象作为UIView子类,定义一些IBOutlets.
  2. 创建(使用Interface Builder)Question1View.xib (这里可能是我的问题所在).我同时设置UIViewControllerUIView为类Question1View的.
  3. 我将出口与视图的组件链接(使用IB).
  4. 我重写initWithNibQuestionManagerViewController的看起来像这样:

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
        if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) {
            // Custom initialization
        }
        return self;
    }
    
    Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我收到此错误:

2009-05-14 15:05:37.152 iMobiDines [17148:20b]***因未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:' -[UIViewController _loadViewFromNibNamed:bundle:]加载了'Question1View"笔尖,但未设置视图插座."

我确信有一种方法可以使用nib文件加载视图,而无需创建viewController类.

iphone cocoa-touch objective-c interface-builder ios

239
推荐指数
13
解决办法
30万
查看次数