首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Xib Vs Storyboard,如何更新

Xib Vs Storyboard,如何更新
EN

Stack Overflow用户
提问于 2011-11-19 02:11:54
回答 3查看 6.7K关注 0票数 1

我正在研究新的iOS 5.0上的故事板。它似乎真的很容易使用和实现,但我的问题是...如何将旧的Xib更新到故事板?

例如。我有一些在没有故事板的情况下开发的类,其中一些类附带了xib文件,可以帮助我快速设置自定义布局。显然,当我使用这种类时,我需要使用initWithNibName:bundle:来实例化它,现在它已经可以使用了,并且我可以根据需要多次使用它,因为布局是在xib中编码的。

现在故事板。storyboard不允许从xib加载视图控制器,并且我没有找到在主Storyboard中加载storyboard文件的方法。似乎每次在新项目中使用特定的视图控制器时,我都需要重新配置它的布局。似乎现在我不得不在每个使用这个控制器的新应用程序中重新配置我的控制器的布局,而不是使用内部有布局的xib文件。

也许有什么是我不明白的。有人能帮我理解使用故事板的最好方法吗?

提前谢谢你。

加布里埃尔。

编辑回复sw3n

多亏了sw3n,也许我理解了。下面的代码可以工作,但是这是完全正确的吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// All this code is implemented inside the MyViewController class.

// Attached to an UIButton;
- (void)loadNewController:(id)sender {
    [self performSegueWithIdentifier:@"newControllerIdentifier" sender:sender];
}

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
    // As suggested by sw3n
    // Load the storyboard from file.
    UIStoryboard *storyboardTest = [UIStoryboard storyboardWithName:@"StoryBoardLoad_Test" bundle:nil];
    // Instantiate the viewController that live in the storyboard file
    UIViewController *destinationViewController = [storyboardTest instantiateViewControllerWithIdentifier:@"newControllerIdentifier"];
    
    // Instantiate a segue to start the chain
    UIStoryboardSegue *segue = [[UIStoryboardSegue alloc] initWithIdentifier:identifier source:self destination:destinationViewController];
    [self prepareForSegue:segue sender:sender];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"newControllerIdentifier"]) {
        [segue.destinationViewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
        
        // Are there new options to present the controller?
        // If I was in a NavigationController a could obviously push it.
        [self presentModalViewController:segue.destinationViewController animated:YES];
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-23 09:31:34

这就是你要找的吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle *)storyboardBundleOrNil
票数 3
EN

Stack Overflow用户

发布于 2012-09-14 05:05:53

听起来有点晚了,但似乎没有答案的结论。您可以使用上面提到的storyboardWithName()。从UIStoryboard创建新的视图控制器,并将新的Viewcontroller挂接到视图层次中所需的位置。你也可以使用多个故事板文件来分割你的UX设计。我写了一些关于如何在我的站点上挂接它作为rootcontroller的东西,但基本上它应该在任何地方都可以工作。

票数 2
EN

Stack Overflow用户

发布于 2011-11-24 18:21:00

接口生成器:

  1. 在视图控制器中选择段
  2. 转到属性选项卡
  3. 为段命名
  4. 设置过渡样式

在代码中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[self performSegueWithIdentifier:@"mySegueNameFromInterfaceBuilder" sender:self];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8191342

复制
相关文章
Swift 项目 - Xib | StoryBoard 多人协作技巧
不同于国外,StoryBoard从面世到如今饱受国内开发者的质疑,质疑的理由很多,什么不利于多人协作啊,隐藏了UI细节啊,出问题不容易测试,降低执行效率啊等等。此文就是针对这些问题的举例和剖析。
Swift社区
2022/04/04
2.1K0
Swift 项目 - Xib | StoryBoard 多人协作技巧
Xib、Nib、Storyboard下修改控件边框颜色、大小、圆角
问题: 今天有一个页面有很多uibutton,所以就用xib搭了界面,然后问题来了,如何在xib下修改控件的边框颜色和大小、圆角?我之前知道利用IB面板下的“UserDefined Runtime A
傅_hc
2018/06/28
2.4K0
IOS入门之StoryBoard
概述 在iOS的发展历程中,IOS开发经历了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建全部UI。而在最近几年的开发中,苹果对 Storyboard 的开发力度也不断增强,添加了更多功能和特性,大大方便了界面的开发、适配以及提升代码性能。 我们来看看三种方式的主要区别: 手写页面和逻辑代码 如果你的目的是写一些可以高度重用的控件提供给其他开发者使用,那毫无疑问最好的选择应该是使用代码来完成UIVi
xiangzhihong
2018/02/06
1.8K0
IOS入门之StoryBoard
iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboard/xib本地化纯代码本地化语言切换后记
本文同步 个人博客 简书 掘金 慕课 使用Xcode 9.3 Swift4.1
gwk_iOS
2018/08/23
2.5K0
iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboard/xib本地化纯代码本地化语言切换后记
关于IB_DESIGNABLE / IBInspectable的那些需要注意的事
IB_DESIGNABLE / IBInspectable 这两个关键字是在WWDC 2014年"What's New in Interface Builder"这个Session里面,用Swift讲过一个例子。也是随着Xcode 6 新加入的关键字。
一缕殇流化隐半边冰霜
2018/08/30
1.6K0
关于IB_DESIGNABLE / IBInspectable的那些需要注意的事
程序启动的完整过程
程序启动的完整过程 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([MJAppDelegate class])); } } 执行顺序 1.main函数 2.UIApplicationMain 创建UIApplication对象 创建UIApplication的delegate对象
用户1941540
2018/05/11
1.5K0
xib适配
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/47908763
用户1451823
2018/09/13
6710
xib适配
iOS基础问答面试题连载(二)-附答案
2016-11-2120:41:52 发表评论 7℃热度 1.xcode5和xcode7区别? 2.pch文件原理? 3.UIApplication常见功能? 4.程序完整启动流程? 5.U
timhbw
2018/05/03
1.4K0
iOS 关于Interface Building 的一些小技巧
## 1. UIStackView StackView 是iOS9以后才有的,主要解决了组件排列布局复杂的问题,高效快速。
星宇大前端
2020/02/13
1.8K0
iOS 面试策略之系统框架-UIKit
本章节主要从视图、网络、设计模式几个方面考察开发者的开发水准,这是任何一个合格的 iOS 开发者都应该具备的基本素养。
会写bug的程序员
2021/05/13
1.5K0
iOS 面试策略之系统框架-UIKit
iOS开发--UIWindow与程序启动原理与两种创建控制器的方法
UIWindow是一种特殊的View 1.iOS启动完毕后,创建的第一个视图控件就是UIWindow。 2.接着创建控制器的View, 3.然后将控制器的view添加到UIWindow上 4.于是控制器的View就显示在屏幕上了。 5.也就是说没有UIWindow,就没有UI界面
孙寅
2020/06/02
1.2K0
iOS开发--UIWindow与程序启动原理与两种创建控制器的方法
通过 XIB 自定义 View 的便捷加载方法
虽然 XIB 实现 View 有各种各样的缺点,但是不可否认我们仍然在项目中或多或少的有使用。在加载 XIB 视图的时候每个人都会有自己的封装,今天我从最原始加载方式开始,分享一下我的便捷加载方式是怎么写出来的。
韦弦zhy
2021/11/24
1.1K0
ios开发-载入viewcontroller的几种方式
Assuming you have storyboard, go to storyboard and give your VC an identifier (inspector), then do: UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithI
阿新
2018/04/12
6530
自定义View
自定义View 通过纯代码自定义控件 继承自系统自带的控件,写一个属于自己的控件 在 .h 文件中声明模型对象 @class@property(nonatomic,strong)Shop *shop; 目的:封装控件内部的细节,不让外界关心 步骤 新建一个继承UIView的类 在initWithFrame:方法中添加子控件 当控件第一次创建或者通过 init 和initWithFrame 创建都会调用 initWithFrame方法 但是通过Xib创建且不通过 init 或 initWith
用户1941540
2018/05/11
7350
iOS-UIWindow详解
1.UIWindow简介 UIWindow是一种特殊的UIView,通常在一个app中至少会有一个UIWindow。 iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的View添加到UIWindow上,于是控制器的View就显示在屏幕上了。 一个iOS程序之所以能显示在屏幕上,完全是因为它有UIWindow,也就是说,没有UIWindow就看不到任何UI界面。 状态栏和键盘都是特殊的UIWindow。 那么UIWindow是如何将View显示到屏幕上的呢
xx_Cc
2018/05/10
2K0
iOS14开发-UIViewController
UIViewController 可以理解为 App 的界面,负责管理 UIView 中显示的内容和用户的交互,主要有以下作用:
YungFan
2021/03/02
2.4K0
iOS从Xib中设置样式
iOS在写视图的有的人喜欢纯代码去写,从之前的绝对定位方式(Frame),到现在的自动布局(Autolayout),但这种方式的好处是便于复制修改和装X,但是缺点是代码不容易看,不便于修改
码客说
2019/10/22
2.4K0
iOS TableView 优化
在GitHub在看了WeChat ,只提取了朋友圈的代码写了一个Demo。代码很简单。
赵哥窟
2021/05/19
7680
编码篇-从一个第三方的StoryBoard项目中剥离部分功能到纯代码项目中
最近项目中需要实现视频监控功能,于是就用了某企业旗下的一款视频监控产品,在集成官方Dome中的监控画面播放的功能时,发现整个项目都是通过StoryBoard搭建的,然而我的项目是没有使用StoryBoard,纯代码开发,如果我用纯代码重写里面的功能逻辑当然也是行的,只是花费的时间和精力可想而知,这酸爽,谁试谁知道。
進无尽
2018/09/12
7070
编码篇-从一个第三方的StoryBoard项目中剥离部分功能到纯代码项目中
动态创建Storyboard
做动画或者做控件的时候不一定都要在xaml里做Storyboard,有时候在代码里动态创建会更加灵活些。 这里以我做的一个改变颜色的Storyboard为例来做说明。(查了不少英文资料,大多都是对beta2的,和release的版本有些不同) 代码: Storyboard storyboard = new Storyboard();             Brush br = xRectangle.Fill;             ColorAnimation colorAnim = new Color
用户1172164
2018/03/01
2.4K0

相似问题

使用Storyboard VS .xib (XCode 5)

24

Xib和Storyboard

14

Storyboard -> XIB |加载视图

10

*.storyboard和标准*.xib

17

从XIB到Storyboard

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文