UISplitViewController 分屏控制器

news/2024/11/25 18:40:22/

为什么80%的码农都做不了架构师?>>>   hot3.png

UIStoryboard(name: "Main", bundle: nil) 得到故事版文件对象 其中参数name是故事版的名字,可以中info.plist中查找或者就是Main.storyboard文件

 

 

1、建一个工程(single view applicatio )
2、删除系统自动生成的viewcontroller场景,拖拽一个  Split View Controller 控件到interface builder上
3、给viewController添加导航栏,(split view controller 控件分栏到两视图可以带导航控制器)
   1⃣️一般左边的是(TableViewController的子类)表格视图控制器右边的是普通视图控制器
4、把系统自动生成的类ViewContrlloer.swfit改成DetailViewContrlloer.swfit,
  然后将视图控制器与视图类关联起来
5、将左边(TableViewController)的视图控制器中的Cell(得命名标识符)
   与右边的视图控制器关联起来,segue,命名segue
6、新建一个视图控制器类(SplitViewController,应该是系统自动识别的),在这个类中的viewdidload方法中 添加一行代码
   splitViewController?.preferredDisplayMode = .PrimaryOverlay
   这行代码使左边的视图控制器(TableViewController)在右边控制器(ViewController)上面
7、新建一个视图控制器类,让视图控制类与Interface Builder 中的左边视图控制器关联
8、在DetailViewController类中的viewdidload方法中添加如下代码
if splitViewController?.respondsToSelector(#selector(UISplitViewController.displayModeButtonItem)) == true {
navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem()
navigationItem.leftItemsSupplementBackButton = true
}

这行代码用来显示这个视图控制器类中左边的按钮的

9、在tableviewcontroller视图控制器类的 prepareForSegue(选中行时触发)方法中写如下代码
if segue.identifier == "ShowDetailIdentifier" {
var detail: DetailViewController
 //判断是否时导航控制器
if let navigationController = (segue.destinationViewController as? UINavigationController) {
detail = navigationController.topViewController as! DetailViewController

} else {

detail = segue.destinationViewController as! DetailViewController
}

if let path = tableView.indexPathForSelectedRow {

detail.selectedIndex = path.row + 1

}
}

    

转载于:https://my.oschina.net/ldm95/blog/679474


http://www.ppmy.cn/news/334527.html

相关文章

VIM分屏的操作

在用vim编辑的时候,难免会涉及到分屏,分屏的主要操作如下 场景一: 同时打开两个文件,进行编辑 1. 同时打开两个文件 vim -o slam.py readme.md效果 2. 怎么把操作符从一个文件挪到另一个文件呢? ctrl w j/l 直…

vim编辑器---分屏操作

分屏操作 分屏操作: sp: 上下分屏,后可跟⽂件名 vsp: 左右分屏,后可跟⽂件名 Ctrww: 在多个窗⼝切换 启动分屏:使⽤⼤写O参数进⾏垂直分屏 $ vim -On file1 file2 …使⽤⼩写o参数进⾏⽔平分屏 $ vim -on file1 file2 … 注: n是数字,表示分屏的数量,n要⼤于等于⽂…

linux tmux 详细教程,Linux下的神器介绍之Tmux分屏器

前言 我们为什么需要分屏器呢? 对于这个问题,我想大家肯定都有自己的看法。 主流的观点是这样的,对于生活在Linux下的人(开发人员、运维人员、普通爱好者)都不可避免的使用终端模拟器(比如,gnome-terminal)去执行一些命令或者脚本…

vim编辑器-分屏

vim分屏显示 分屏启动vim使用大写的O来垂直分屏启动vim(n代表分为几个屏幕) vim -On file1 file2 使用小写的o来水平分屏启动vim(n代表分为几个屏幕) vim -on file1 file2 分屏上下分割打开当前的文件(同一个文件) ctrlw s &…

html视频分屏插件,如何制作分屏视频

如何制作分屏视频? 蜜蜂剪辑 蜜蜂剪辑同样也拥有非常友好的主界面以及强大的编辑功能。这款软件可以帮您制作出一个非常精彩的分屏视频。您可以剪辑或者合并视频、音频设置淡入淡出效果,调整视频的亮度、色调以及对比度等等。除此之外,它还为…

计算机如何分屏操作步骤,windows怎么分屏|windows系统开启分屏显示功能方法

windows系统能不能分屏?windows要怎么分屏?正常情况下,一个电脑屏幕只能操作一个界面,不过windows系统已经实现了分屏显示功能,让用户在一个显示器能够实现两个或多个任务分屏同时操作。这边小编就为大家整理分享win8、…

VI编辑器中 实现分屏

窗口分割实现编辑多文件 *先使用vi打开一个文件,现实现分割窗口打开另外的文件 1.横向分割 命令行模式下输入 :sp otherfile 就可以水平分割继续打开第二个文件, 2.纵向分割 可以使用:vsp :otherfile (other如果没有就新…

html div分屏,js 实现用div 上下分屏

之前用的frameSet,但是在谷歌浏览器下有bug,所以自己查资料写了个用js 实现的div 上下分屏demo,下面的div 高度还可以任意拖动,以后有需要的可以直接拿去修改yoga了。上下分屏 body {/*font: 14px/1.5 Arial; color: #666;*/ } #box {position: relative; width: 100%; heig…