Tag: uistoryboard

在WatchKit中相当于prepareForSegue

我有一个2个button的接口,他们都调用相同的接口,但具有不同的信息。 在传统的界面上,我使用了prepareForSegue,但我不知道WatchKit上的等价物是什么。

用条件故事板进行切换

我是新的故事板和xcode(使用4.4) 我想要实现一个login条件,如果完成 – segue会工作。 否则,用户应该保持相同的观点。 我创build了2个UIView:ViewController和Bar Controller。 我也创build了从ViewController到Bar控制器的segue,并将其标识符设置为loginSegue为模态。 在LoginViewController.m中,我添加了以下内容: – (IBAction)login:(id)sender { self.email = self.emailText.text; self.password = self.passwordText.text; if ([self.email isEqualToString:@"O"] && [self.password isEqualToString:@"O"]) [self performSegueWithIdentifier:@"LoginSegue" sender:sender]; else [passwordText setText:@""]; } 当我debugging代码 – 我看到,如果电子邮件和密码的情况下跳到其他的不等于O,但仍然发生(转换到新视图)。 我怎样才能防止用户转移到新视图? 顺便说一句,如果我删除if else条件 – 用户被自动转移到下一个视图。 在我看来,当我从一个视图画到另一个视图时,它被configuration在某个地方。

Xcode 4.5故事板崩溃

当我试图编辑故事板中的UILabels时,Xcode会崩溃。 任何想法可能导致这个? 看起来它与自动布局约束之一有关。 这是错误报告: Process: Xcode [43938] Path: /Applications/Xcode.app/Contents/MacOS/Xcode Identifier: com.apple.dt.Xcode Version: 4.5 (1839) Build Info: IDEApplication-1839000000000000~3 App Item ID: 497799835 App External ID: 10747437 Code Type: X86-64 (Native) Parent Process: launchd [43283] Date/Time: 2012-10-01 09:43:36.443 -0400 OS Version: Mac OS X 10.7.4 (11E53) Report Version: 9 Sleep/Wake UUID: 8C7C93A7-0BEF-42C6-944C-488D8C7896DD Interval Since Last Report: 152594 […]

AutoLayout:UIView中的UIView有不正确的框架

我正在使用故事板中的AutoLayout,并且一切似乎都很顺利。 但是,当我把一个UIView放在另一个里面,并且把所有的约束都应用到容器和它的子viewDidLayoutSubviews: ,我注意到这个框架在viewDidLayoutSubviews:是不正确的。 我不希望根据我的限制来计算这个框架,而是一些令人厌恶的大框架(尽pipe是在正确的起源)。 例如,而不是{{26,10},{444,10}}的框架,我得到了{{0,0},{320,568}} 。 奇怪的是, 这只发生在孩子UIView,当我把它放在另一个UIView,有一些约束适用于它的超视图(这是视图控制器的视图)。 由于我的印象是,根据我在viewDidLayoutSubviews:方法中的约束,我可以期待我的观点得到适当的布置viewDidLayoutSubviews:我很困惑,为什么会发生这种情况。 我做了什么不正确的假设? 如果有人能帮助我指出正确的方向,我将不胜感激。 谢谢! 注意:如果我在viewDidAppear:执行了正确的依赖于框架的设置,这个问题就完全解决了,但是这对我来说是一个不太令人满意的解决方法。

如何知道当前的故事板名称?

我想知道当前加载的故事板是什么,我使用了下面的代码,但它仍然让我的主要故事板不是目前。 //This get me the Main storyboard [[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"];

如何在多个UIViewControllers之间共享一个故事板场景

我完全重新制定了这个问题,得知我本来是偏离了轨道,但是我没有接近解决问题。 参照这个图像… 我想要在代码中创build或操作segue(以黄色突出显示),这样Master视图就是MFMasterViewController的多个子类中的任何一个(以红色突出显示)。 当使用Nibs这样做时,我可以创build一个Nib, SharedNib.xib并将该类设置为MFMasterViewController ,然后创build我的子类,比如说MFMasterViewControllerSubclassA , MFMasterViewControllerSubclassB等等,然后实例化任何我想使用的子类。 MFMasterViewControllerSubclassA *controller = [[MFMasterViewControllerSubclassA alloc] initWithNibName:@"SharedNib" bundle:nil]; 要么… MFMasterViewControllerSubclassB *controller = [[MFMasterViewControllerSubclassB alloc] initWithNibName:@"SharedNib" bundle:nil]; 等等 任何线索,如何我可以使用故事板得到这个权利? 在我的情况下,想要做到这一点的原因是,我所有的子类是相同的tableview和数据,但sorting不同,并在写入到cels的细节文本的东西有一些不同。 我怀疑这是一个不常见的模式。 干杯和TIA,佩德罗:)

UItabbar项目不显示故事板参考

我试图在tabbar中使用新的故事板引用。 当我使用故事板引用时,UITabBarItem(带有自定义图像和文本集)没有显示任何内容。 请参阅设置: 故事板设置 tabbaritem设置 我现在通过在引用的故事板中初始viewcontroller的initWithCoder函数中设置图像和标题来修复它,如下所示: static NSString *const ContactsViewControllerTabContactImageName = @"tab-contact"; static NSString *const ContactsViewControllerTabContactActiveImageName = @"tab-contact-active"; – (instancetype)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if (self) { self.title = NSLocalizedString(@"Contacts", nil); self.tabBarItem.image = [UIImage imageNamed:ContactsViewControllerTabContactImageName]; self.tabBarItem.selectedImage = [UIImage imageNamed:ContactsViewControllerTabContactActiveImageName]; } return self; }

内容插入不工作Storyboard Xcode8

最近我更新了Xcode 7.3到8.当打开项目时,项目设置也被更新为新的Xcode。 现在,在button框架中定位图像的button图像所使用的插槽不像以前的Xcode(7.3)版本那样工作。 图像插页是通过故事板给出的。 这里使用的图像比button图像显示区域具有更大的可点击button区域。 有没有其他的select,通过故事板。

iOS – 在故事板中pipe理代码合并的最佳实践

与许多团队成员合并xcode storyboard可能会产生很多冲突等。我需要一个策略来与20个团队成员共享故事板,但要避免与故事板中合并代码相关的噩梦。 我想在Xcode每个团队都有一个单独的目标,但是这并不是很好,因为我们都需要更新,所以有两个故事板是不好的做法。 我的代码库是inheritance的。 它是一个故事板已经分叉的项目。 我认为改为xib可能很难(??)

在Storyboard中获取子视图的框架

我只想(现在)来获取视图控制器实例化上的子视图的维度。 [这是一个简单的例子,我可以find以前的问题 。 我试图弄清楚为什么Storyboard中的场景的子视图并不像我期望的那样运行,也就是说:像XIB一样 – 我只是想在我们的子视图的尺寸实际绘制到屏幕之前得到它的尺寸] 为了把问题简化成一个新的,干净的项目,我这样做: 创build一个新的单视图项目“使用故事板”选中 将一个UIView添加到默认的MainStoryboard_iPad.storyboard (并将其背景更改为绿色以使其更容易看到 – 除了缩小尺寸之外,这是我从默认UIView拖到场景中所做的唯一更改) 在浏览器中单击ViewController.h文件,将其置于Storyboard框架下面的自己的框架中,并在@interface指令下面插入一对大括号 控制单击并拖动从故事板中的UIView到ViewController.h并告诉它命名出口firstViewFirstSubView 所以我们现在有ViewController.h : #import <UIKit/UIKit.h> @interface ViewController : UIViewController { IBOutlet UIView *firstViewFirstSubView; } @end 然后,我将这个方法添加到ViewController.m: – (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSLog(@"View Controller will appear. firstViewFirstSubView: %@ ", firstViewFirstSubView); NSLog(@"subView's dimmensions: %f by %f at %f, %f", firstViewFirstSubView.frame.size.width, firstViewFirstSubView.frame.size.height, firstViewFirstSubView.frame.origin.x, firstViewFirstSubView.frame.origin.y); } […]