标签: uistoryboard

如何在故事板中创建UIViewController布局,然后在代码中使用它?

我的iOS 5应用程序中有一个Storyboard.

在那里,我创建了许多屏幕,它完美地运作.

但是,我在代码中创建了一个视图控制器,而不是UI操作的结果,而是处理数据的结尾.我想显示这个视图控制器,然后,作为modalViewController,但也有它在故事板编辑器中设计.

可能吗?使用笔尖我这样做:

ResultsController *rc = [[ResultsController alloc] initWithNibName:@"ResultsController"
                                                            bundle:nil];
[self.navigationController presentModalViewController:rc animated:YES];
[rc release];
Run Code Online (Sandbox Code Playgroud)

现在我真的没有nib文件,所以我该怎么做?

iphone modalviewcontroller ios5 uistoryboard

12
推荐指数
1
解决办法
2万
查看次数

iOS:让segue等待登录成功

我正在使用XCode 4.2的故事板功能设计一个iOS应用程序.该应用程序有一个登录屏幕,其中包含用户名和密码,并有一个登录按钮.按下登录按钮会触发另一个视图控制器的推送序列.但是,我希望seque等到登录成功后再继续下一个视图控制器.

我知道prepareForSegue:sender:但是我的问题是:登录调用是异步的.因此我无法在那里执行登录.

有什么事吗?我可以在故事板中创建一个仅在我想要时触发的seque(而不是单击按钮时)?

ios ios5 uistoryboard segue

12
推荐指数
2
解决办法
7534
查看次数

如何延迟执行瞄准

在我的故事板中,我有一个视图作为启动画面.在这个视图中,我已经有一个像"打开应用程序"的按钮,它打开菜单视图,带有模态segue.但是我也希望屏幕自动执行segue,就像2秒后出现视图一样.

一些代码在这里:

- (void)viewDidAppear:(BOOL)animated
{
    [self performSegueWithIdentifier:@"splashScreenSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我已经使用performSegueWithIdentifier但它立即执行.有没有办法让它延迟?

提前致谢.

iphone objective-c ios5 uistoryboard uistoryboardsegue

12
推荐指数
2
解决办法
9272
查看次数

在视图控制器之间传递变量

我正在使用此函数在Xcode 4.3中切换视图.

[self performSegueWithIdentifier:@"NextView" sender:self];
Run Code Online (Sandbox Code Playgroud)

我想在页面之间传递一些参数.我怎样才能做到这一点?

properties uiviewcontroller ios uistoryboard uistoryboardsegue

12
推荐指数
2
解决办法
3万
查看次数

使用"用户定义的运行时属性"在故事板中本地化视图

我目前有一种半自动化的方式来本地化我的观点.然而,今天我在IB中发现了一个有趣的部分,这似乎表明我可以在Interface Builder中本地化我的视图.

因此,在IB中,您可以在Identity Inspector中为选定对象定义运行时属性.所以对于我,UILabel我可以将text标签的keypath 设置为String Hello World.

但是,当我选择Type = Localized String然后我的键中的名称时,Localized.strings我没有得到翻译的字符串,而只是我在IB中输入的值(因此是键).

我不明白,这种机制应该如何运作.我会到能够翻译我的看法是这样,任何想法?

iphone localization interface-builder ios uistoryboard

12
推荐指数
2
解决办法
4725
查看次数

故事板:什么是"索引行限制"字段?

在Storyboards中,TableViews有一个名为"Index Row Limit"的属性字段.默认值为2.我找不到任何关于这是什么的信息.一个谷歌搜索返回结果的单页和结果的一半为非英语.有谁知道这个领域是什么?

xcode cocoa-touch uitableview uikit uistoryboard

12
推荐指数
1
解决办法
5345
查看次数

使用自定义视图控制器包含时无法创建展开segue

我正在尝试将我们的应用程序转换为故事板,并且在处理自定义容器控制器时遇到了我认为处理展开segue的错误.我们有一个视图控制器,它显示另一个并使用视图控制器包含api来执行此操作,我在IB中连接segue然后为实现选择一个自定义类.perform方法看起来像这样:

-(void) perform {
    UIViewController *container = [self sourceViewController];
    UIViewController *child = [self destinationViewController];
    [container addChildViewController:child];
    [container.view addSubview:child.view];
    child.view.center = container.view.center;
    [UIView transitionWithView:container.view
                      duration:0.35
                       options:UIViewAnimationOptionCurveEaseInOut
                    animations:^{
                        child.view.alpha = 1;
                    } completion:^(BOOL finished) {
                        [child didMoveToParentViewController:container];
                    }];
}
Run Code Online (Sandbox Code Playgroud)

这完全有效,但是我不能让它执行解开segue回到容器控制器.我重写viewControllerForUnwindSegueAction:fromViewController:withSender:并确保它返回正确的值:

-(UIViewController *) viewControllerForUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender {
    id default = [super viewControllerForUnwindSegueAction:action fromViewController:fromViewController withSender:sender];
    NSAssert1(default == self, @"Expected the default view controller to be self but was %@", default);
    return default;
}
Run Code Online (Sandbox Code Playgroud)

我还可以确认canPerformUnwindSegueAction:fromViewController:正在调用withSender并做正确的事情,但要确保我重写它以返回YES

-(BOOL) canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender {
    return YES;
} …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch uistoryboard uistoryboardsegue

12
推荐指数
2
解决办法
7446
查看次数

如何让自定义UIControl作为推送动作参与segue?

我有一个继承自UIControl的自定义类,用于获取触摸事件.它基本上是一组其他控件的集合.我正在将我的应用程序从xib转换为故事板.除此之外,它几乎是无痛的.

我将UIView拖入我的场景,将类更改为我的自定义控件,将其连接到我的ViewController上的插座.单击控件时我想要控制的是对另一个ViewController执行(推)segue.但设计师的出口并没有让我的UIControl设置segue.

是否有可能做到这一点?如果是这样,我该怎么做才能启用它?

iphone xcode interface-builder uistoryboard segue

12
推荐指数
1
解决办法
1113
查看次数

XIB超过故事板

目前我们在所有项目中使用Storyboard而不是xib.但在我看来,如果你想制作可以在不同视图控制器中重复使用的可重用视图(自定义视图或Tableview单元格),则必须使用xib文件,因为在故事板中我们无法单独制作单个视图对象.

请注意,我正在使用Storyboard进行整个应用程序的工作流程(带有segues的视图控制器).仅对于可重用的tableview单元格,我使用的是XIB.

我搜索了很多苹果文档以及WWDC视频,但是我找不到Apple开发人员的任何具体证据,这些证据表明XIB将会存在,或者您应该使用XIB进行自定义视图.

如果你们中的任何人有任何类型的链接,我们仍然可以使用XIB,而不用担心苹果会删除它,我真的很感激.

ios uistoryboard

12
推荐指数
1
解决办法
1193
查看次数

如何在OS X故事板的开头隐藏初始窗口

我正在创建一个OS X状态栏应用程序,所以我希望应用程序开始隐藏.

我创建了一个"故事板"应用程序,初始窗口始终显示,即使"未启动时可见"(默认情况下未选中)也是如此.


注意:如果我禁用" 是初始控制器 ",那么应用程序正确启动时没有任何窗口,但我的(现在的孤儿)窗口似乎永远不会添加到故事板:

var mainWindow = NSStoryboard(name: "Main", bundle: nil)?.instantiateControllerWithIdentifier("mainWindow")
Run Code Online (Sandbox Code Playgroud)

找不到"mainWindow"控制器(即使我在Window Controller上正确设置了"Storyboard ID").

所以我认为离开" 是初始控制器 " 更好,但只是在开始时隐藏主窗口......

macos cocoa uistoryboard swift

12
推荐指数
3
解决办法
7633
查看次数