当我导航到我的一个xib文件时,Xcode将文件标记为已触摸。 撤消和还原没有任何效果。 节省似乎没有任何伤害,但这个小故障导致我频繁的额外的git工作。 有没有其他人看到这个或有一个在我的MainWindow.xib会导致它的东西的想法? 在2016年编辑 – 仍在发生!
我想用Xcode 4.2改变下面的代码。 UIViewController * example = [[ExampleViewController alloc] initWithNibName:@"ExampleViewController" bundle:nil]; 现在ExampleViewController.xib文件存在。 但我想用故事板来制作。 请帮帮我。 (我不擅长英语,对不起)
在目标c中它可以在init方法中通过 -(id)init{ self = [[[NSBundle mainBundle] loadNibNamed:@"ViewBtnWishList" owner:0 options:nil] objectAtIndex:0]; return self; } 但是当我迅速做到这一点 init(frame: CGRect) { self = NSBundle.mainBundle().loadNibNamed("ViewDetailMenu", owner: 0, options: nil)[0] as? UIView } 显示方法中不能指定自己的错误。 现在我的方法是创build一个视图,并添加从nib加载的视图。 谁有更好的主意?
我刚刚通过CLI创build了一个新的cordova ios项目,并且我在Xcode 7.1中打开了这个项目,并且在模拟器上运行的时候在mainViewController.xib上得到了一些错误,如果我们点击错误,显示xib文件并显示一个警告消息“发生内部错误,编辑function可能受到限制”。 所以我无法运行这个项目。 我不知道这是否是由于Xcode错误或cordova错误或在我的Xcode中的任何其他设置问题。
我在xib中创build了一个视图(带有活动指示器,进度视图和标签)。 然后我创build了.h / .m文件: #import <UIKit/UIKit.h> @interface MyCustomView : UIView { IBOutlet UIActivityIndicatorView *actIndicator; IBOutlet UIProgressView *progressBar; IBOutlet UILabel *statusMsg; } @end #import "MyCustomView.h" @implementation MyCustomView – (id)initWithFrame:(CGRect)frame { if ((self = [super initWithFrame:frame])) { // Initialization code } return self; } – (void)dealloc { [super dealloc]; } @end 在IB中,我将文件的所有者和查看标识设置为MyCustomView,并将IBOutlet连接到文件的所有者 在MyViewController.m中,我有: – (void)viewDidLoad { [super […]
我通常喜欢在界面构build器中创build和devise我的uiviews。 有时我需要在xib中创build一个可以在故事板中的多个视图控制器中重用的单个视图。
使用Storyboard和xib文件的主要区别是什么? 具体来说,使用Storyboard有哪些优缺点 ? 不幸的是,尽pipe做了相当多的研究,但在Storyboard上能find的只是一个简单的教程,告诉你如何设置一个Storyboard,而不是具体的信息来解释它们是什么。
你怎么做呢? 我看到一个video教程,但屏幕太小。 此外,除了改变视图大小,是否还有其他重大变化,我将不得不使我的iphone应用程序转换为iPad?
我知道这个问题之前已经被问过了,但答案是矛盾的,我很困惑,所以请不要激怒我。 我想在我的应用程序中有一个可重用的UIView子类。 我想描述使用nib文件的接口。 现在我们假设它是一个带有活动指标的加载指标视图。 我想在一些事件实例化这个视图,并animation到视图控制器的视图。 我可以用编程的方式来描述视图的接口,通过编程方式创build元素并在init方法中设置它们的框架等。 我怎样才能使用笔尖呢? 保持界面生成器中给定的大小而不必设置框架。 我已经设法做到这一点,但我相信这是错误的(这只是一个视图与select器): – (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 + 50, […]
当多人合作的时候,故事板就是git工作stream程中的王室之痛。 例如,.storyboard文件中的XML有其最初的<document>标签的toolsVersion和systemVersion属性被最近的文件操纵器正在运行的任何configuration所改变。 同步每个人的Xcode版本似乎有助于toolsVersion ,但systemVersion会根据开发人员运行的特定的Mac和/或OS X版本进行更改。 这是愚蠢的,但大多是无害的。 但是,我们担心的是在其他时候,一些其他的变化是通过在git pull之后打开它们而自动作出的。 也就是说,Alice对故事板进行更改,提交并将其推送到存储库。 然后鲍勃拉动爱丽丝的变化,打开故事板进行进一步的修改。 当他打开故事板时,文件图标立即变为已修改但未保存的状态,并且git status显示发生了任意数量的奇怪更改。 所有这些没有鲍勃改变了任何东西或自己保存文件。 我们看到的最常见的自动更改是在故事板文件结尾附近的整个<classes>标签层次的消失或再现。 我们还没有弄清楚是什么原因造成的。 我们可能在各种.lproj目录中有几个本地化版本的故事板,当在Interface Builder中打开它时,类层次结构可能会自发地从某些目录中删除并添加到其他目录中,或者在某些情况下单独保留。 这在git diff导致了很多噪音,但是它并没有打破任何function。 我们经常会有select地将我们所做的实际改变添加到git的索引中,提交它们,然后放弃自发的,无意义的<classes>改变。 这是保持承诺小而美好,因为他们应该是。 但最终,Xcode一直在重新做这些改变,这让人感到非常烦恼,而且有些人只是把它们和其他一些东西一起提交给他们,直到别人的Xcode决定要把他们改回来明显的原因。 (我们的提交历史有很多骂这个。) 有没有人看到这种行为? 这是一个Xcode错误还是一个或多个我们的开发人员的Mac上的configuration问题? 在与XIB文件合作时,我们已经看到了一些类似的行为,但是故事板似乎更容易受此影响。