1.相关介绍。
对于ios开发中,其实storyboard其实是比较有用的。它能够让你一眼看清应用的所有跳转关系。Storyboard 在iOS5时引入,它能节约你创建UI的时间。storyboard与常规nib(nib文件后来改名叫xib文件,小伙伴不用纠结它是啥)文件相比,有很多优势
1.storyboard可以描述各种场景之间的过渡,这种过渡被称作"segue",你通过简单的ctrl-dragging就能搞定,减少代码量
2.storyboard支持table view的prototype cell,这意味着你可以在storyboard中编辑cell,减少代码量
当然任何东西都有它存在的优点。
在我们常用的xib它和storyboard分开了。它更能方便你封装,就是创建时时间长点,但是封装好了后面复用的时候就比在storyboard中快了。我在storyboard中也编辑过cell,通过xcode拖拽编辑的cell是很快的,如果再用的使用也可以storyboard的cell布局复制在要创建的viewcontroller中。
我亲身实践通过storyboard开发,会节省不少开发时间,我了解ios开发中大部分开发者都是用oc开发的。很多人只是简单了解storyboard,并不会完全使用。会有担心它不稳定,出问题了很难自己解决。的确用storyboard有一点小坑,但是当你熟悉它的脾气后你就能很好使用它。关键是对于尝试学习的同学来说,那些问题很可能让他放弃学习使用storyboard,因为有些问题。我认为是编译器的存在的不友好问题。对于开发者来说那些问题不是他们造成的。他们的实际上是没有问题的。或者有小技巧他们不知道怎么操作。还有就是出了错他们不好定位。下面不废话了,开始介绍使用。
2.大家应该知道ui布局中的设置,优先级是低于代码的。你在storyboard中的编辑设置后代码做了设置看到的是代码操作的结果。
xcode现在是10.2.1版本。添加控件之前在右侧栏的下方,现在改到了右上方顶部。你可以搜索使用你需要的控件。
如图是应用最开始的时候的。默认是应用启动的viewcontorller。我们一般要有多个tab的可切换的view contorller。当你添加进来viewcontroller你会想要的是navigationcontroller。不了解的可以百度下。点击选中你新添加的controller,如图操作。
如何将tabviewcontroller和navigationcontroller关联起来。按住control键从tabviewcontroller中的小按钮拖到navigationcontroller中即可如图
拖拽后会有弹窗弹出选择viewcontrollers即可。
后面的跳转关系都是这样选的不一样,具体了解查看下面链接
有了这个sugue只是看到了界面的跳转关系,并不能跳转,当然如果你是从按钮拖的,你点击按钮就能跳过去了,不用写代码了是不是很简单。这样就完了吗?没有
1.你是不是有时候要传值,
2.有时候要判断跳转。或者你一个界面有多个sugue,你就要代码控制了。
3.说到这里,你有没有想过你所有的界面关系,都在一个storyboard中画出来问题很大,xcode要加载出来这个storyboard就很耗时了。你愿意等吗?就算你愿意等,如果你是多个人协同开发问题来了,你们都在一个storyboard中做改动,合并不久冲突了吗?
4.还有你第一个图界面你设置了。如果需求你让你动态改变有几个nevigationcontroller
我们还是来继续讲sugue的使用。代码控制要怎么写呢?
点击你的sugue看右侧如图的地方看我加了identifier,代码中你要用这个来却分你是哪个segue。
addTarget(self, action: #selector(completeBtnClicked(sender:)), for: .touchUpInside)
@objc func completeBtnClicked(sender: UIButton?){
if UserInfoManager.getUserInfo()?.identity == 2{
performSegue(withIdentifier: "ToMatchmakerBaseInfoViewControllerSegueID", sender: nil)
}else{
performSegue(withIdentifier: "ToCompleteChildInfoViewControllerSegueID", sender: nil)
}
}