Tag: xib

将Storyboard转换为XIB

我创build了一个使用iOS 5 Storyboardfunction的应用程序,并且决定让它也在iOS 4上运行。我如何将Storyboard(其中只包含一个ViewController)转换为XIB? 另外,ARC会为iOS 4编译?

是否有可能与UICollectionViewCells使用IBDesignable并生活呈现在故事板?

我知道如何使用@IBDesignable自定义视图。 但有可能使用单元格的IBDesignable并在故事板中呈现它们? 例如:我有一个storyboard中的collectionViewController,并添加了一个uiCollectionCell和指定的类作为我的customCellClass。 PS:我知道在collecionViews和tableViews中使用Xibs,我们必须调用方法registerNib:forReuseIdentifer在代码(和我这样做)。 只是想知道,是否有可能看到它在故事板中呈现的视图。 p.s2:我发现这一点 ,它与UIViews完美的工作,但不知道如何使它与CollectionCells和TableCells工作。 🙁

难以本地化xib文件

我已经本地化了两套xib,并将它们放在我的项目导航器中,如下图所示: 我的Localized.strings文件工作正常,但有时select不正确的xib文件。 当我将设备语言设置为法语时,我看到英文xib视图。 当我将设备语言设置为英语时,我会看到法语xib视图。 我从项目中删除了xib文件,只删除了引用,然后将它们拖放到相同位置的项目中,如图所示。 就在此刻,我只看到英文版本,不pipe我将设备设置为哪种语言。 有没有人可以看到我做错了? (我已经阅读过这样的build议,不要为每种语言使用不同的框架,我可能会在某些时候切换到这个框架,但是现在,我只想了解我的设置出了什么问题。 更新 这里是en.lproj文件夹的文件组织。 fr.lproj文件夹的设置方式相同。 这些位于名为资源的文件夹内。 更新 – 最终结果 我在右边的面板中试验了我的xib文件的本地化设置。 当我select两种或两种以上的语言进行本地化时,终于注意到了这些公开button。 点击披露button显示每种语言的xib文件。 然后,我重新为外语xib本地化。 (我可能可以从现有的xib复制和粘贴。) 所以这些文件现在是这样组织的:

Xib为不同的iOS设备/模拟器?

我运行模拟器,我去硬件和设备,它显示设备列表 iOS Simulator > Hardware > Device iPad iPad (Retina) iPhone iPhone (Retina 3.5 inch) iPhone (Retina 4 inch) 我想为所有这些设备制作不同的XIB。 但我想知道的方式。 因为我看到在Xib Attribute Inspector中有两个选项 Xib Attribute Inspector > Size Freeform Retina 3.5 Full Screen Retina 4 Full Screen 虽然在那里 iPhone/iPod Touch 320×480 iPhone/iPod Touch having retina display 640×960 iPhone/iPod touch 5th 640×1136 iPad with non […]

添加,然后删除〜ipad.xib。 现在在iPad上运行NSInternalInconsistencyException

为了将iPhone应用程序转换为通用应用程序,我在我的项目中添加了一个MyViewController〜ipad.xib。 我还将目标设备系列设置为iPhone / iPad。 然后,我试图撤销这些更改 – 删除MyViewController〜ipad.xib并将目标设备系列仅设置为iPhone。 现在,我可以运行iPhone(一如既往),但不能在iPad上(我以前可以做)。 我现在崩溃了以下错误: “'NSInternalInconsistencyException',原因:' – [UIViewController _loadViewFromNibNamed:bundle:]加载了”MyViewController“笔尖,但未设置视图插口。 MyViewController.xib中的视图出口被设置为: 和文件的所有者类设置: 所以我想回到我所拥有的…一个只能在iPad上运行的iPhone应用程序(但在较小的iPhone视图中)。 任何帮助,将不胜感激!

Xcode:将文件从一个项目复制到另一个工作区中

我目前正在为iPhone应用程序的遗留代码工作。 有人已经在iPhone中实现了一个function,现在我正试图在iPad中实现它。 首先,我决定将iPhone项目中的文件拖放到iPad中并使其工作。 然后,我将find一个解决scheme,通过这两个项目可以共享相同的代码。 不过,我已经从iPhone项目的文件复制到ipad项目,并与xib有问题。 网点仍然参考iPhone版本。 所以,当我从iPad版本中删除IBOutlets时,连接仍然保留,因为iPhone xib尚未被触摸。 但是,当我从iphone项目中删除连接,它也从ipad版本中删除sockets。 这些都是在同一工作区内的独立项目。 我不知道为什么发生这种情况,还有没有文件引用其他项目复制文件?

从XIB文件实例化一个UIView作为文件的所有者?

比方说,我有一个XIB文件(MyView.xib)包含一个单一的根UIView其类是一些自定义的UIView子类(MyView)。 我想从XIB文件创buildMyView的实例(在代码中),但我也希望文件的所有者是MyView的实例(这样我可以将IBOutlets从XIB链接到代码)。 换句话说,MyView是XIB中的根视图的类,它也被设置为文件的所有者类。 我在MyView实现中尝试了这样的事情: – (id)initFromNib { self = [[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] firstObject]; return self; } 然后我意识到这是没有道理的,因为那时候self是零,所以文件的所有者被设置为零(不好)。 这开始感觉像鸡蛋问题,因为我需要文件的所有者是在创build之前即将创build的实例。 然后我尝试了这样的事情: – (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:CGRectMake(0.0, 0.0, 310, 166)]; if (self) { self = [[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] firstObject]; } return self; } 显然这只是一个临时的黑客,看看它是否会起作用,但是不行。 该视图被加载并正确显示,但是当我按下其中一个button(具有相关联的IBAction)时,该应用程序崩溃。 我错过了什么明显的? 或者是我的理解有某种缺陷? 一般的问题是,我只想拥有一个包含该视图的可视化表示的关联XIB的自定义UIView子类,并且还希望能够在XIB和其对应的UIView子类之间关联IBOutlets。 任何和所有的build议是受欢迎的。

如何dynamic更改UIVIewController的xib

例如,我有一个UIVIewController“controller1”。 这个控制器使用“file1.xib”与initWithNibName …实例化。 我想dynamic地将我的“controller1”的xib文件更改为“file2.xib” 恢复 : “controller1”< – >“file1.xib”,我想dynamic地有:“controler1”< – >“file2.xib” 我怎样才能做到这一点 ? 希望我清楚。

如何添加应用程序委托回到mainwindow.xib

简短的回答: 从对象库中拖动一个对象,并将其类设置为委托。 详情请参阅下面的答案。 我不小心从mainwindow.xib中删除了应用程序委托。 我到处看,但仍然找不到一种方法将其添加回来。 我试图在网上find它,但仍然没有结果。 任何人都可以帮我解决它? 谢谢。 我的项目 其他的项目 的main.m #import <UIKit/UIKit.h> int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, nil); } }

以编程方式更改Xib方向的最佳方法

我有一个应用程序,其中有一个设置页面,用户可以在其中更改应用程序的语言。 最终,xibs的方向将会改变。 再多说一点,如果语言是英语,方向将是LTR; 但是,如果是阿拉伯语,它将是RTL。 题 什么是最好的方法来实现这一目标? 方法尝试与问题 NSUserDefaults:当语言设置为“ar-SA”时,方向改变成功,但只有在主类中被调用。 当我在运行时,应用程序必须重新启动才能生效。 即使有重新启动应用程序的方法,也不推荐使用,应用程序有被拒绝的风险 多个xibs:这种方法将最终工作,但我必须为每个UIView创build两个Xibs文件。 如果这是唯一的解决scheme,我可以在一个xib文件中创build两个UIViews以避免混淆? 还有其他build议吗? 谢谢