标签: uistoryboard

你如何以及在哪里使用instantiateViewControllerWithIdentifier

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                     bundle: nil];

MenuScreenViewController *controller = (MenuScreenViewController*)[mainStoryboard 
                                               instantiateViewControllerWithIdentifier: @"<Controller ID>"];
Run Code Online (Sandbox Code Playgroud)

如果我必须确保使用标识符实例化当前视图,我究竟在哪里编写此代码?这意味着如果我在这个类上编写任何代码,它必须在这个viewcontroller加载时出现?我也将如何使用它?我不想创建menuscreenviewcontroller的实例.这意味着我必须说自己,但我使用self.view,但这不起作用.

iphone ios4 ios ios5 uistoryboard

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

子内容视图控制器视图从故事板中有错误的边界大小?

我的示例故事板中的这个文档大纲显示了我正在使用的内容.

文件大纲

我有一个自定义的容器视图控制器和两个通过嵌入segues连接的内容视图控制器.

这是故事板本身.

故事板摘要

ZetaViewController必须创建一些编程视图(当然在ZetaView中).我注意到当我将这些以编程方式创建的视图居中时,它们似乎真的偏离了中心.

ZetViewController通过检查self.view.bounds.size.heightself.view.bounds.size.width以及做一些适当的算术来集中事物.

当我将调试日志记录以ZetaViewController,我注意到self.view.bounds.size.heightself.view.bounds.size.width不得不尺寸等于ContainerView(768 X 1004),并没有 ZetaView(728 X 637).IB中的Size Inspector确认了这些值.

我为ZetaView的tag属性创建了一个独特的值并记录下来.ZetaViewController.view 确实是ZetaView,因为标签值确认了它.

那么发生了什么?为什么在故事板和大小检查器中显示较小尺寸的ZetaView在运行时显示其属性中的错误值?

uiviewcontroller cgrect uistoryboard ios6

4
推荐指数
2
解决办法
6794
查看次数

故事板与*'NSInternalInconsistencyException'崩溃的iOS应用程序,原因:'NIB数据无效.'

我们有一个使用iOS 6 sdk构建的应用程序(可在iOS 5上部署)使用故事板,它在iOS 5(仅)中崩溃并出现此错误:

[myApp] *由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'NIB数据无效.'

有问题的场景是UITableViewController的子类,它包含一个UITableView和一个添加的UITextView属性.

我不知道这有什么无效或为什么它在iOS 6中正常工作.

有任何想法吗?

PS:我看到似乎是一个关于笔尖和创建自定义单元格的松散相似的问题建议关闭自动布局,但这个应用程序使用故事板,有静态单元格,并且自动布局已经关闭.

ios ios5 uistoryboard xcode-storyboard ios6

4
推荐指数
1
解决办法
7591
查看次数

在Storyboard中获取子视图的帧

我只想(现在)在视图控制器的实例化中获取子视图的尺寸.

[这是一个简单的案例,我可以找到前一个问题.我试图弄清楚为什么故事板中的场景的子视图不像我期望的那样表现,也就是说:像XIB一样 - 我只想在实际绘制到屏幕之前获取子视图的尺寸]

为了将问题压缩到一个新的,干净的项目,我这样做:

  • 选中"使用Storyboard"创建一个新的单视图项目
  • 将单个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
Run Code Online (Sandbox Code Playgroud)

然后,我将此方法添加到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);
}
Run Code Online (Sandbox Code Playgroud)

此时,我希望能够获得UIView子视图的尺寸.但我得到全0:

2012-11-15 15:21:00.743 StoryboardViewBounds[11132:c07] View Controller will appear. firstViewFirstSubView: <UIView: 0x9379730; frame …
Run Code Online (Sandbox Code Playgroud)

xcode ios uistoryboard

4
推荐指数
2
解决办法
4396
查看次数

如何将IBOutlet连接到UIView?

我正试图在看到动画后切换视图:

[UIView beginAnimations: @"Fade Out" context:nil];
[UIView setAnimationDelay:1.0];
[UIView setAnimationDuration:0.25];
splash.alpha = 0.0;
[UIView commitAnimations];
[self.view addSubview : view];
Run Code Online (Sandbox Code Playgroud)

[self.view addSubview : view];我必须为视图添加一个名称,以便添加,所以我IBOutlet这样做:(在第一个视图控制器的.h文件中)

IBOutlet UIView *main;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试连接*main UIView到故事板上的视图时,它不会让我...非常感谢你们.

xcode uiview iboutlet uistoryboard ios6

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

使用segues与自定义表格单元格

我有一个我在代码中完全定义的自定义单元格类型(子类化UITableViewCell),因为我无法使用xib文件使其工作.我可以将它添加到我的故事板中的表格中的单元格中,它显示得很好.但是,我想选择那个单元格触发一个segue到另一个屏幕.我可以在xcode中创建故事板中的segue,但是当我运行代码时它似乎没有实际工作(即没有任何反应,单元格被选中).我在同一个表中也有一个常规的标题/副标题单元格,它有一个单独的segue到不同的屏幕,并且一个工作正常(触摸该单元格按预期加载下一页),所以它似乎是一个特别的问题与定制单元格.我怀疑自定义单元格中的某些东西正在替换附加的segues.

那么如何确保我的自定义单元格可以使用故事板中定义的segue?

ios uistoryboard segue xamarin

4
推荐指数
1
解决办法
3058
查看次数

在故事板中使用自定义静态表视图单元格XIB

我有一个自定义静态UITableViewCell,我希望看起来与右侧细节单元格完全相同(UILabel在左侧,UILabel右侧),除了我希望右边UILabel是可编辑的UITextField.由于我想在故事板中的多个视图控制器中使用此单元,我决定最好的选择是创建一个MyEditableTableViewCell.xib文件,以及相应的*.h,m文件.我在MyEditableTableViewCell.h中有两个公共属性:

@property (weak, nonatomic) IBOutlet UILabel *textLabel;
@property (weak, nonatomic) IBOutlet UITextField *detailTextField;
Run Code Online (Sandbox Code Playgroud)

这些IBOutlets的连接UILabel,并UITextField在文件的.xib.在我的故事板中,我有一个自定义UITableViewController子类,我将所需的类更改UITableViewCellMyEditableTableViewCell.我的视图控制器中有一个属性:

@property (weak, nonatomic) IBOutlet MyEditableTableViewCell *myCell;

但是,当我运行应用程序时,单元格显示为一个空白单元格.对它运行一些检查,我看到[myCell isKindOfClass:[MyEditableTableViewCell class]]返回true.但是,UITextField似乎永远不会得到实例化.当我试图改变时myCell.detailTextField.text,没有任何反应,myCell.detailTextField似乎是零.

任何帮助,将不胜感激!

uitableview xib custom-cell uistoryboard

4
推荐指数
1
解决办法
3506
查看次数

iOS 7状态和导航栏在故事板中的高度不同于应用程序

这是一个视图控制器,而不是模态显示,因此全屏.

在故事板中,"顶部布局指南"位于y:64.这就是状态栏height:20和导航栏时我所期望的height:44.

但是,当应用程序运行时,"顶部布局指南"是y:52.我不知道它是如何或为何失去12分.

objective-c ios uistoryboard

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

UITabBarController故事板启动屏幕 - 初始标签?

我在我的应用程序中使用故事板作为我的启动屏幕,它包含一个带有5个UINavigationControllers的UITabBarController.故事板除了提供启动屏幕之外什么都不做.

我想要做的是更改默认选定的选项卡.我现在坚持这个:启动标签栏

一旦实际的视图控制器加载我得到这个:

实际的标签栏

你可以想象,让选择跳跃就像它一样有点刺耳.我不知道如何以编程方式更改选项卡,因为我无法将自定义类附加到启动屏幕中的任何内容.当然,我真的不在乎我是否真的这样做,如果有办法用不同颜色的图标来伪造它,那也很好,但是系统会将这个色调添加到选定的图标.

有没有办法在故事板启动屏幕上执行此操作?谢谢.

uitabbarcontroller ios uistoryboard

4
推荐指数
2
解决办法
1171
查看次数

为什么我的一些推动故事板细分不显示偷看和流行的选项?

我的一些push segues显示了peek和pop的选项,而其他推送segues没有显示选项.这是为什么?

在此输入图像描述

ios uistoryboard segue 3dtouch peek-pop

4
推荐指数
1
解决办法
591
查看次数