Questions tagged «xib»

XIB是Interface Builder的文件格式,Interface Builder是Mac OS X和iOS平台的开发工具。

30
笔尖已加载,但未设置“查看”出口
我向项目添加了一个新的nib文件,并尝试加载它。 但是,当我单击工具栏图标时,该图标应该带我到创建的视图,NSInternalInconsistencyException但显示以下消息: 由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'-[[UIViewController _loadViewFromNibNamed:bundle:]加载了“ ...”笔尖,但未设置视图出口。 因此,我打开了我的nib文件,并且看到没有设置参考插座的视图。但是,我尝试单击并拖动“新引用出口”的圆圈到File's Owner,但这不会让我...我需要做些什么才能显示我的视图?

23
如何从Xib文件加载自定义UITableViewCells?
问题很简单:如何UITableViewCell从Xib文件加载自定义?这样可以使您使用Interface Builder设计单元。由于内存管理问题,答案显然并不简单。该线程提到了该问题并提出了解决方案,但已在NDA之前发布,并且缺少代码。这是讨论问题的长篇文章,但没有提供明确的答案。 这是我使用的一些代码: static NSString *CellIdentifier = @"MyCellIdentifier"; MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil]; cell = (MyCell *)[nib objectAtIndex:0]; } 要使用此代码,请创建MyCell.m / .h,这是MyCell的新子类,UITableViewCell并IBOutlets为所需的组件添加。然后创建一个新的“ Empty XIB”文件。在IB中打开Xib文件,添加一个UITableViewCell对象,将其标识符设置为“ MyCellIdentifier”,并将其类设置为MyCell并添加您的组件。最后,将连接IBOutlets到组件。请注意,我们没有在IB中设置文件的所有者。 其他方法提倡设置文件的所有者,如果没有通过其他工厂类加载Xib,则警告内存泄漏。我在“仪器/泄漏”下测试了以上内容,但没有发现内存泄漏。 那么从Xibs加载单元的规范方法是什么?我们是否设置文件的所有者?我们需要工厂吗?如果是这样,工厂的代码是什么样的?如果有多种解决方案,让我们阐明它们各自的优缺点...


8
如何从课堂上以编程方式加载情节提要?
我的问题是我正在寻找同时使用情节提要和xib的方法。但是我找不到以编程方式加载和显示情节提要的正确方法。该项目是从xib开始开发的,现在很难将所有xib文件嵌套在情节提要中。所以我一直在寻找一种在代码中实现它的方法,就像使用alloc, init, pushviewControllers一样。就我而言,情节提要中只有一个控制器:UITableViewController,它具有静态单元格,其中包含一些我想显示的内容。如果有人知道在不进行大量重构的情况下使用xib和Storyboard的正确方法,我将不胜感激。


26
在Swift中从笔尖加载UIView
这是我的Objective-C代码,我正在使用该代码为我的自定义加载笔尖 UIView: -(id)init{ NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"myXib" owner:self options:nil]; return [subviewArray objectAtIndex:0]; } Swift中的等效代码是什么?
148 swift  uiview  xib 

6
Xcode更改未修改的情节提要和XIB文件
从git工作流程的角度来看,当多个人协作时,情节提要板是一种皇家痛苦。例如,.storyboard文件中的XML的起始<document>标记toolsVersion和systemVersion属性被最新文件操纵器正在运行的任何配置更改。同步每个人的Xcode版本似乎可以帮助toolsVersion,但是systemVersion无论如何,更改都会有所变化,具体取决于开发人员正在运行的特定Mac和/或OS X版本。 这是愚蠢的,但大部分无害。不过,令我们担心的是,有时在故事板之后,只要打开,它们就会自动进行其他更改git pull。也就是说,爱丽丝对情节提要板进行更改,然后提交并推送到存储库。然后,Bob拉出Alice的更改,并打开情节提要进行进一步更改。他打开情节提要板的那一刻,文件图标立即变为已修改但未保存的状态,并且git status表明发生了许多奇怪的更改。所有这些都无需Bob更改任何内容或自己保存文件。 我们看到的最常见的自动更改是,<classes>故事板文件结尾附近的整个标签层次消失或重新出现。我们还没有弄清楚是什么原因造成的。我们可能在不同的.lproj目录中有多个故事板的本地化版本,并且在Interface Builder中打开它们时,类层次结构可能会自发地从某些类中删除并添加到其他类中,或者单独留在某些类中。这会在中引起很多噪音git diff,但实际上并没有破坏任何功能。我们通常会选择性地将实际所做的更改添加到git的索引中,提交这些更改,然后仅丢弃自发的,毫无意义的<classes>变化。这是为了使提交尽可能小巧,美观。最终,尽管如此,由于Xcode不断重复所做的更改,这变得太麻烦了,而有人只是将它们与其他内容一起进行了批处理……这很好,直到其他人的Xcode决定不做任何更改。明显的原因。(我们的提交历史对此有很多誓言。) 还有其他人看到这种行为吗?这是我们的一台或多台开发人员Mac上的Xcode错误还是配置问题?与XIB文件协作时,我们已经看到了类似的行为,但是情节提要似乎更容易受到这种影响。

10
从情节提要中的外部Xib文件加载视图
我想在情节提要中的多个视图控制器中使用一个视图。因此,我考虑过在外部Xib中设计视图,以使更改反映在每个ViewController中。但是如何从情节提要中的外部xib加载视图,甚至有可能?如果不是这种情况,还有哪些其他替代方法可以适应上述情况?
131 ios  uiview  storyboard  xib 

7
如何在UIView中加载Xib文件
我一直在到处搜索,但到目前为止没有任何工作对我有用。 基本上,我希望有一个名为rootView.xib的.xib文件,在其中我希望有一个UIView(可以称其为containerView),它仅占据屏幕的一半(因此会有常规视图和新视图)。然后我想要一个名为firstView.xib的不同.xib文件,并将其加载到containerView内部。因此,我可以在firstView.xib上放一堆东西,在rootView.xib中放一堆不同的东西,然后将firstView.xib加载到rootView.xib的containerView内,但是由于它只占据屏幕的一半,因此您仍然会看到rootView.xib上的内容
111 ios  objective-c  uiview  xib 

6
为UIView子类加载Nib的正确方法
我知道以前曾问过这个问题,但答案是矛盾的,我很困惑,所以请不要解雇我。 我希望UIView在我的整个应用程序中都有一个可重用的子类。我想用一个nib文件描述接口。 现在,我们说这是一个带有活动指示器的加载指示器视图。我想在某个事件上实例化此视图并为视图控制器的视图添加动画。我可以以编程方式描述视图的界面,以编程方式创建元素并在init方法中设置其框架等。 但是,如何使用笔尖呢?保持界面生成器中给定的大小,而无需设置框架。 我已经设法做到了,但是我确定这是错误的(只是一个带有选择器的视图): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } 但是我覆盖了自我,当我实例化它时: FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …

3
使用情节提要的自定义视图
在复杂的屏幕(视图控制器)中,我通常将整个事情分成较小的部分(我称它们为小部件)。这些小部件基本上由a MyWidget.h和一个MyWidget.m文件以及一个MyWidget.xib文件组成,其中根元素是a UIView,而MyWidget类是UIView的文件所有者。在此小部件的初始化中,我做了一个loadNibNamed。 然后在View Controller中执行一个[[MyWidget alloc] init],将其作为子视图添加到View的Controller主视图中。到目前为止,这是完美的。 我现在想知道如何对情节提要进行相同的操作,因为我无法真正开始将其拖到UIView某个地方,所以我总是必须以UIViewController不想开始。 如果无法使用情节提要板执行此操作,是否可以通过将情节提要板用于主屏幕和剧集,并使用单独的.xib文件来定义自定义视图,以旧的方式进行操作?
96 ios  storyboard  xib 


17
将iPhone xib转换为iPad xib?
你怎么做呢?我在上面看到了一个视频教程,但是屏幕太小。另外,除了更改视图大小之外,我还需要对iphone应用程序进行其他一些重大更改才能转换为iPad吗?
75 ios  iphone  xcode  ipad  xib 

24
IOS项目显示错误“发生内部错误。xcode 7.1上的编辑功能可能受到限制
我刚刚通过CLI创建了一个新的cordova ios项目,然后在Xcode 7.1中打开了该项目,并且在模拟器上运行时,如果在mainViewController.xib上单击该错误,则该错误将显示xib文件,并在该顶部显示一个警告消息“发生内部错误。编辑功能可能受到限制”。因此无法运行该项目。 我不知道这是由于Xcode错误还是Cordova错误或Xcode中的其他设置问题引起的。
72 ios  xcode  cordova  xib  xcode7.1 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.