Tag: nib

如何禁用自动更新Interface Builder文件版本?

这个问题仍然得到很多upvotes。 所以看看Update3。 一旦你有upvoted,评论,回答,请请请雷达 查看nib / xib,修改该文件,迫使我提交更改或撤消更改。 这是不是一个问题,直到有合并冲突。 细节:我在一个由5名iOS开发人员组成的团队中工作,以及最后几个版本的XCode,当任何人打开文件(不作任何改动)时,遇到.xib / nib文件被触碰/修改的问题。 如果一个开发人员认为“拧紧它,让我检查xcode做的任何修改”并检查它,它不会停在那里。 当另一个开发者查看该笔尖时,两个不同机器上的相同文件(具有相同版本的XCode和MacOS)将再次被触摸/修改。 通常在.xib文件中被修改的是这个 <key>com.apple.ibtool.document.version-history</key> <dict> <key>interface-builder-version</key> <dict> <key>com.apple.InterfaceBuilderKit</key> <string>2844</string> <key>macosx.version</key> <string>12C60</string> </dict> </dict> <key>com.apple.ibtool.document.warnings</key> <dict/> 但除此之外,它还修改或移动.xib文件中现有的键值对。 我在SO和Google上search了很多东西,而且在这个问题上我还没有看到很多post。 当我升级所有的笔尖来处理iPhone5的屏幕时,我曾经遇到过一次合并冲突的噩梦,这本身并不是太复杂,但由于文档版本的原因而导致了大量的合并冲突。 删除代码我不明白,导致xcode崩溃时,我试图打开笔尖。 (我现在已经解决了这个问题,回复到之前的情况) 任何意见如何避免这个问题,表示赞赏! 更新:已经注意到,这还没有解决,而且还经常上升。 我只是好奇,做任何故事板项目遇到同样的问题? (我还没有在故事板上工作过)。 更新2:对于遇到同样问题的所有人,即使您收到有雷达回应的报告,也请提交雷达。 它有助于将问题提升到顶端,而XCode的神只会解决它。 Update3:我在这个主题上仍然看到不less赞扬,苹果bug报告仍然是开放的。 所以,在提出这个问题之后, 请提供一个雷达 ,详细介绍我在问题中提到的细节(和/或添加自己的解释) Update4:这个问题仍然有很多upvotes。 所以看看Update3。 一旦你有upvoted,评论,回答,请请请雷达 Update5:根据WWDC 2014上苹果工程师的信息,这个问题已经在Xcode6中得到修复。 一旦我确认这个问题已经解决,我会更新这个问题(可能会closures它)。 Update6:希望看到这个固定的。 在WWDC2015会问这个问题(通过我认识的人,谁去那里)。 如果其他获得WWDC票的幸运者也可以在WWDC 2015上做同样的事情 更新7:Xcode 7在这里,这个错误也是:(原始的雷达报告(11533872)仍然是开放的

Xcode 4.5破坏XIBs?

我正在使用新的xcode 4.5,我有一些视图控制器上的代码行: DiscoverCell* cell=[table dequeueReusableCellWithIdentifier:@"DiscoverCell"]; if(cell==nil){ NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DiscoverCell" owner:self options:nil]; cell = [nib objectAtIndex:0]; } 当我运行应用程序其抛出:终止应用程序由于未捕获的exception'NSInternalInconsistencyException',原因:'NIB数据无效。 在LoadNib行上,那是什么? 这个xcode是一些苹果垃圾吗?

未捕获的exception:这个类不是关键值编码兼容的

我正在学习一个名为“Swift教程iOS版:NSFileManager持久化数据”的教程 ,而且我在29分钟左右或之后遇到了一个错误。 当我尝试在iOS模拟器上运行它时,我收到错误: 终止应用程序由于未捕获的exception“NSUnknownKeyException”,原因:'[setValue:forUndefinedKey:]:这个类不是密钥值编码兼容的关键theLoadMethod。 显然根据错误,我认为这个问题是我的theLoadMethod 。 以下是我在ViewController中编写的所有代码: let theDocumentsFolder = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String let theFileName = "/theUserFile.txt" let thePath = theDocumentsFolder.stringByAppendingString(theFileName) class ViewController: UIViewController { @IBOutlet weak var nameTextField: UITextField! @IBOutlet weak var lastNameTextField: UITextField! @IBOutlet weak var ageTextField: UITextField! @IBOutlet weak var theLabel: UILabel! // The save method @IBAction func theSaveMethod(sender: AnyObject) […]

原型细胞在笔尖而不是故事板

为了更好的重用性,我想在Storyboard外创build一个表视图。 现在,当我在Xcode中使用Nib创build基于UITableView的ViewController时,我得到了nib文件中的默认TableView。 但是,我无法在Interface Builder中添加原型单元格,例如我在Storyboard中。 现在是不是可以在一个笔尖添加原型单元,或者我错过了一些东西。 非常感谢您的帮助。

用xib创build一个可重用的UIView(并从storyboard中加载)

好的,在StackOverflow上有很多关于这个的post,但没有一个特别清楚解决scheme。 我想创build一个自定义的UIView与伴随的xib文件。 要求是: 没有单独的UIViewController – 一个完全独立的类 在课堂上的奥特莱斯让我设置/获取视图的属性 我目前的做法是: 覆盖-(id)initWithFrame: -(id)initWithFrame:(CGRect)frame { self = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil] objectAtIndex:0]; self.frame = frame; return self; } 使用-(id)initWithFrame:以编程方式实例化-(id)initWithFrame:在我的视图控制器中 MyCustomView *myCustomView = [[MyCustomView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; [self.view insertSubview:myCustomView atIndex:0]; 这工作正常(虽然从来没有调用[super init] ,只是设置对象使用加载的笔尖的内容似乎有点怀疑 – 有build议在这种情况下添加子视图也工作正常)。 不过,我希望能够从storyboard中实例化视图。 所以我可以: 在故事板的父视图中放置一个UIView 将其自定义类设置为MyCustomView 覆盖-(id)initWithCoder: – 我见过的代码最常用的模式如下: -(id)initWithCoder:(NSCoder *)aDecoder { self […]