首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在UISplitView顶部(浮动)添加一个按钮- Swift

在UISplitView顶部添加一个浮动按钮可以通过以下步骤实现:

  1. 创建一个自定义视图控制器(CustomViewController)来承载按钮,并将其添加到UISplitViewController的主视图控制器(MasterViewController)中。
  2. 在CustomViewController中,创建一个UIButton实例,并设置其位置、大小、样式和响应方法。
  3. 将CustomViewController添加为MasterViewController的子视图控制器,并将其视图添加到UISplitViewController的导航栏中。

以下是一个示例代码:

代码语言:txt
复制
// CustomViewController.swift

import UIKit

class CustomViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 创建按钮
        let button = UIButton(type: .system)
        button.setTitle("按钮", for: .normal)
        button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
        
        // 设置按钮位置和大小
        button.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
        
        // 将按钮添加到导航栏
        navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
    }
    
    @objc func buttonTapped() {
        // 按钮点击事件处理逻辑
    }
}

在MasterViewController的代码中,将CustomViewController添加为子视图控制器:

代码语言:txt
复制
// MasterViewController.swift

import UIKit

class MasterViewController: UITableViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 创建CustomViewController实例
        let customViewController = CustomViewController()
        
        // 将CustomViewController添加为子视图控制器
        addChild(customViewController)
        
        // 将CustomViewController的视图添加到导航栏
        navigationItem.leftBarButtonItem = UIBarButtonItem(customView: customViewController.view)
        
        // 完成添加
        customViewController.didMove(toParent: self)
    }
}

这样,你就可以在UISplitView顶部添加一个浮动按钮了。你可以根据需要自定义按钮的外观和响应方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Material Design —悬浮响应式按钮(Buttons: Floating Action Button)

悬浮响应式按钮 悬浮响应式按钮代表一个应用中最重要的操作。 悬浮响应式按钮用于促进操作。 就像在UI上方浮动的圆形icon一样,它会在聚焦时改变颜色,并在选择时上浮。...用法 每个屏幕只推荐一个悬浮响应式按钮来表示最常用的操作。 行为 默认情况下,悬浮响应式按钮屏幕上以动画形式展开。...左:最重要的操作是点击图片    右:最重要的操作是添加文件 每个屏幕建议只用一个悬浮响应式按钮,增加其显眼程度。 悬浮响应式按钮应该只代表最常用的动作。 ?...跨屏幕 横跨多个横向屏幕(例如顶部标签屏幕)的悬浮响应式按钮应该短暂消失,然后如果其动作改变就重新出现(此部分动图见原网站)。...如果app的特点是添加文件类型,浮动操作按钮可以第一次触摸后转换为相关操作。 但是,如果显示的操作与按钮无关,请将操作放入溢出菜单。 ? 悬浮响应式按钮可以包含联系人列表。

5.8K90
  • 《Chrome插件英雄榜》第101期|一键滚动到页面顶部或底部

    PC网站的导航栏页面顶部,且不会保持在窗口顶部,当用户看完页面,想使用导航切换页面时,需要滚轮滑动多次,返回顶部,非常不方便。...而Scroll To Top Button这款工具,就可以一键返回页面顶部,或页面底部,非常方便! 使用浮动按钮,控制滚动到页面顶部或底部 ?...使用浮动按钮 使用键盘Alt+上箭头/Alt+下箭头,控制滚动到页面顶部或底部 ? Alt+上箭头/Alt+下箭头 如何配置 1. 右键顶部图标,选择选项 ? 选项 ? 点击 2....zhaoolee/ChromeAppHeroes/master/backup/101-scroll-to-top-button.zip 小结 Scroll To Top Button是一款开源的小程序, 可以Github.../zhaoolee/ChromeAppHeroes Chrome插件英雄榜, 为优秀的Chrome插件写一本中文说明书, 让Chrome插件英雄们造福人类, 如果你喜欢这个项目, 希望你能为本项目添加一颗

    1.1K30

    【移动端网页布局】流式布局案例 ② ( 实现顶部固定定位提示栏 | 布局元素百分比设置 | 列表样式设置 | 默认样式设置 )

    一、样式测量及核心要点 1、样式测量 京东手机端 https://m.jd.com/ 顶部提示 使用京东 APP 打开网页的提示 , 是通过 固定定位 放置顶部的 , 当向上滑动界面的时候 , 该...; 进入 F12 调试模式 , 使用选择工具 , 选择想要分析 https://m.jd.com/ 的网页元素 , 第一个 关闭按钮 , 宽度是 8% ; LOGO 图片所在的盒子 , 宽度是..., 背景为 #F63515 颜色 ; 2、高度设定 整个提示栏高度是 45 像素 , 这里先设置一个固定值 ; .app { /* 设置顶部提示条高度 45 像素 */ height.../* 取消列表项的样式 - 左侧的小圆点 */ list-style: none; } 4、设置每个元素的百分比宽度 按照下图测量的内容 , 为每个元素设置其百分比宽度 , 注意最后一个红色按钮设置其红色背景.../* 设置关闭按钮的图像宽度 该图片自动水平 / 垂直对齐 */ width: 10px; } .app ul li:nth-child(2) img { /* 10%

    2K10

    Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航

    Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航 前言 正文 一、导航动画 ① 添加依赖 ② 使用 二、WebView使用 ① 导航传递URL参数 ② 配置WebView...三、FloatingActionButton使用   浮动按钮日常开发中,也是很常见的,下面我们的EpidemicNewsListPage中添加一个浮动按钮。...因为页面使用了Scaffold,因此可以直接通过Scaffold去添加浮动按钮。...添加浮动按钮的同时,我把TopAppBar中多余的内容清除掉了,下面我们运行一下: 点击时弹出Toast,默认显示页面的右下角。 那如果要改位置呢?...floatingActionButtonPosition = FabPosition.End 这里疫情详情页面已经是写完了,你会看到当前页面中有一个浮动按钮,那么这个按钮就是用来返回主页面的,App现在还没有主页面的

    4.6K20

    将模型添加到场景中 - 您的环境中显示3D内容

    约束 然后,单击Storyboard编辑器左下角的第四个图标,将新约束添加到场景视图中。定义约束以确保您的用户界面适应不同的屏幕尺寸或设备方向。设置为0的顶部,左,右和底部。...添加按钮 我们想在视图中添加一个按钮,用作在场景中添加模型的触发器。从对象库中,将UIButton拖动到场景视图的顶部“ 属性”检查器中,删除“ 按钮”标题并将图像设置为“ 按钮/添加”。...添加按钮功能 我们刚刚在屏幕上添加按钮,但它根本没有做任何事情。当我们触摸它时,让按钮执行某些操作。现在,打开Assistant编辑器并控制将故事板中的按钮拖到ViewController类。...// print("Focus square hits a plane") // print("Focus square does not hit a plane") 对象添加文件 让我们创建另一个swift...ViewController.swift中,将一个新的类变量声明为一个节点数组,我们将其初始化为空。

    5.5K20

    【CSS】课程网站 Banner 制作 ③ ( Banner 栏右侧课程盒子测量及样式 | Banner 版心盒子模型右侧课程栏代码示例 )

    像素 ; 总体背景是白色的 ; 课程表 版心的右侧 , 可以设置成 右浮动 , 设置一个 50 像素的 外上边距 ; /* Banner 条右侧 课程表盒子样式 */ .course {...1200 像素 , 浏览器中居中对齐 */ .w { width: 1200px; margin: auto; } /* 头部盒子样式 */ .header { /* 高度 42...排列 导航栏后面 */ float: left; /* 设置左外边距 65 像素 */ margin-left: 65px; } /* 搜索栏 输入框 */ .search input {.../* 设置左浮动 , 方便与右侧的按钮进行排列 */ float: left; /* 宽度为 360 像素, 但是左侧有 20 像素内边距变为 340 像素 */ width: 340px;...*/ .search button { /* 设置左浮动 使其与表单在同一行显示 */ float: left; /* 按钮宽度 50 像素 */ width: 50px; /* 按钮高度

    3.6K60

    【CSS】课程网站网页底部开发 ( 网页底部盒子模型测量及样式 | 代码示例 )

    */ .w { width: 1200px; margin: auto; } 4、版权盒子 整个 版权盒子 版心盒子中 , 设置 左浮动 ; /* 版权所在盒子左浮动 */ .copyright...*/ .links { float: right; } /* dl 列表设置 链接 盒子中左浮动 */ .links dl { float: left; /* 距离左侧 100 像素 */...*/ .links { float: right; } /* dl 列表设置 链接 盒子中左浮动 */ .links dl { float: left; /* 距离左侧 100 像素 */...*/ .search button { /* 设置左浮动 使其与表单在同一行显示 */ float: left; /* 按钮宽度 50 像素 */ width: 50px; /* 按钮高度...{ /* 处理列表间隙导致意外换行问题 一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加

    4.2K30

    Android开发之浮动Activity

    场景 使用App时,曾经看到这样一个场景,如下图所示,点击顶部菜单按钮,有一个类似的对话框的列表显示出来,让用户选择其中的一个快递选项,然后选中的快递信息就会填充到底部的Activity中。...弹出的是一个普通对话框吗?其实不一定,弹出的可能是一个Activity,但不同的是该Activity是浮动显示一个Activity之上,而不是直接跳转。...案例 最近一个App中有一个界面如下: float activity.png 点击底层Activity中浮动按钮,会浮动一个年份列表,选择某一个年份后回到底部Activity,然后底部Activity...5、最后浮动的Activity中设置ListView的点击事件,这里将要将返回的数据添加到Intent中,然后调用 setResult 和 onBackPressed(),传值回底层的Activity...并让当前浮动的Activity消失,大功告成。

    1.6K70

    iOS 9 Storyboard 教程(二下)

    里,首先在类顶部添加一个属性来存储你添加的玩家的详细信息. var player:Player?...PlayerDetailsViewController中添加一个初始化方法和一个反初始化方法: required init?...现在让我们给这个新的控制器一些数据来显示吧.GamePickerViewController.swift中,把一个具有硬编码值的games字符串数组添加顶部: var games:[String]...GamePickerViewController类的顶部添加属性来保存名字和当前选中游戏的索引: var selectedGame:String?...PlayerDetailsViewController.swift里,类的顶部,添加一个属性来保存选中的游戏,那样你就可以Player对象存储它.给它一个默认的名字”Chess”,那样你就会一个新的玩家始终都会有衣蛾选中的游戏名字

    2.2K10

    【CSS】课程网站 网格商品展示 模块制作 ② ( 网格商品展示盒子模型测量及样式 | 处理列表间隙导致意外换行问题 | 代码示例 )

    处理列表间隙导致意外换行问题 一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 , 版心的宽度为 1200 像素 ; 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加...{ /* 处理列表间隙导致意外换行问题 一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加...{ /* 处理列表间隙导致意外换行问题 一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加...*/ .search button { /* 设置左浮动 使其与表单在同一行显示 */ float: left; /* 按钮宽度 50 像素 */ width: 50px; /* 按钮高度...{ /* 处理列表间隙导致意外换行问题 一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加

    2.4K20

    【CSS】课程网站 网格商品展示 模块制作 ① ( 网格商品展示模块盒子模型测量及样式 | 顶部文本标题盒子测量及样式 | 代码示例 )

    1200 像素 , 浏览器中居中对齐 */ .w { width: 1200px; margin: auto; } /* 头部盒子样式 */ .header { /* 高度 42...排列 导航栏后面 */ float: left; /* 设置左外边距 65 像素 */ margin-left: 65px; } /* 搜索栏 输入框 */ .search input {.../* 设置左浮动 , 方便与右侧的按钮进行排列 */ float: left; /* 宽度为 360 像素, 但是左侧有 20 像素内边距变为 340 像素 */ width: 340px;...*/ .search button { /* 设置左浮动 使其与表单在同一行显示 */ float: left; /* 按钮宽度 50 像素 */ width: 50px; /* 按钮高度...*/ font-size: 16px; /* 设置文字颜色 */ color: #00a4ff; } /* 设置 竖线和课程名称所在盒子 的文本颜色 这是所有的文本样式 课程链接里面

    4.3K40

    【移动端网页布局】流式布局案例 ⑤ ( 连续排列的链接图片 | 设置盒子圆角 | 超出部分隐藏 | 设置浮动布局 | 精确计算浮动元素宽度避免换行 | 设置图片宽度自适应 )

    单独的 标签中 , 每个 标签中放置一个 链接标签 , 链接标签中包裹一个 图片 ; <!...: hidden; /* 设置圆角 顺序为 : 左上 / 右上 / 右下 /左下 */ border-radius: 10px 10px 0 0; } 4、设置浮动并精确计算宽度 布局中..., 三个链接图片水平排列在一起 , 并且中间没有缝隙 , 说明这是使用 浮动 进行设置的 , 为父容器的三个子元素都设置 左浮动 , 就可以实现上述效果 ; 设置浮动后 , 还需要设置子元素的宽度 ,...如果子元素横向累加宽度超过 当前宽度 , 会自动换行 , 因此这里为每个子元素设置一个 1/3 宽度 , 即 33.33% ; 子元素 设置浮动和宽度的样式如下 : .brand div...{ /* 设置 .brand 父容器下的 div 盒子左浮动 这样这些盒子可以水平方向上紧密排列 */ float: left; /* 要在水平方向上放置 3

    3.6K20

    【移动端网页布局】流式布局案例 ⑥ ( 多排按钮导航栏 | 设置浮动及宽度 | 设置图片样式 | 设置文本 )

    , 宽度超过了布局宽度 , 则会自动换行 ; 3、设置浮动及宽度 该布局距离上面的布局有 5 像素的上外边距 ; 如果要令 10 个坐标 , 水平排成两排 , 每排 5 个 , 为其设置左浮动即可实现..., 同事设置其宽度为 20 像素 ; 除了图片外 , 每个链接中还有一行文字 , 设置文字水平对对齐 nav { /* 整个导航布局距离顶部 5 像素 */ padding-top:...-- 第一排 : 顶部 APP 提示标签 --> <!...; } .brand div img { /* 设置图片链接中的图片 水平方向上充满父容器即可 */ width: 100%; } /* 多排按钮导航栏 */ nav {.../* 整个导航布局距离顶部 5 像素 */ padding-top: 5px; } nav a { /* 设置左浮动 宽度为 20% 正好能放下 5 个 */ float: left

    3.3K40

    【CSS】课程网站横版导航栏 ( 横版导航栏测量及样式 | 代码示例 )

    盒子样式如下 : 1、总体盒子测量及样式 该盒子是处于版心位置 , 先为其设置版心的样式 , 版心宽度 1200 像素 , 水平居中 , 先将版心的样式设置给盒子 ; /* 版心宽度 1200 像素 , 浏览器中居中对齐...width: 1200px; margin: auto; } 该盒子大小为 1200x60 像素 , 该大盒子 , 可以分为如下三个小盒子 , 小盒子中的元素都是垂直居中的 , 可以大盒子中设置一个行高..., 都为 60 , 会自动垂直居中 , 文本大小为 16 像素 , 颜色为 #050505 ; 最终样式为 : /* 设置 竖线和课程名称所在盒子 的文本颜色 这是所有的文本样式 课程链接里面.../* 设置左浮动 , 方便与右侧的按钮进行排列 */ float: left; /* 宽度为 360 像素, 但是左侧有 20 像素内边距变为 340 像素 */ width: 340px;...*/ .search button { /* 设置左浮动 使其与表单在同一行显示 */ float: left; /* 按钮宽度 50 像素 */ width: 50px; /* 按钮高度

    5.2K30

    iOS OC swift 自定义 popover 泡泡

    环境: Xcode:Xcode 8.2 Swiftswift3+ git 地址:https://github.com/TieShanWang/KKPopover pod 集成:pod 'KKPopover...' 【注意】pod 版本,swift 3 支持,以 3....棕色区域是可以设置的 红色 底层箭头视图的边框 白色 底层箭头视图的背景颜色 蓝色 自定义内容区域,在此区域(contentView)可以添加希望展示的内容 加号按钮 模拟了 sourceView...可以看到当 sourceView(加号按钮不同地方的时候,popover 自动更改方向、调整箭头方向、位置以适应不同的 sourceView 类说明 open class KKPopover: UIView..., sourceView: UIView) /// 根据 sourceView 展示指定视图中 /// - Parameters: /// - view: 添加到的视图,不传则添加到 window

    2.7K70

    《Motion Design for iOS》(三十一)

    这个视图被添加为类的@property了,这样我们就可以之后的代码中引用它。这里显示了如何声明一个@porperty。...苹果的开发者网站的Objective-C指南中可以阅读更多关于程序的属性的内容。 最后,我们将UIImageView作为主屏幕的一个子视图添加进去。...现在让我们添加地图,它会是透明的,并且会伴随着变化开始。我们会在主应用图片后立即添加它,因为我们想要最后添加图标按钮,这样它就会使z轴上最高的,也就是在其他视图的顶部。...地图视图的frame开始会在左上角,但会距离顶部62像素,这样就会正好位于我们要添加的地图按钮的下方一点点。...有两个变换添加到视图中:第一个将视图往下移动30像素,第二个将其从正常尺寸拉伸到1.1倍。 这里是它现在看起来的样子,我注视了alpha那一行,这样我们就可以看到地图在哪。

    67530
    领券