首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >UISplitViewController -用纵向中的侧栏切换图标替换回雪佛龙图标

UISplitViewController -用纵向中的侧栏切换图标替换回雪佛龙图标
EN

Stack Overflow用户
提问于 2021-12-07 10:15:46
回答 1查看 380关注 0票数 3

我正在开发一个iPadOS应用程序,在其中我使用了UISplitViewController。到目前为止,我一直在使用旧的API并手动处理所有东西(包括displayModeButtonItem)。现在,我想迁移到更新的“列样式”API (super.init(style: .doubleColumn)。我有几个UI问题,但我设法用一些解决办法解决了它们,但现在我在一个问题上受阻了,我找不到任何解决方案:

我想利用iOS14 14的UISplitViewController的所有内置机制,所以我将presentsWithGesture属性设置为true。由于这一点,我得到了侧边栏切换图标的景观方向(这正是我想要的),但在肖像我得到一个“回来-雪佛龙图标”与“回来”的标题。是否有一种方式来强制侧边栏切换图标显示这两个方向?

EN

回答 1

Stack Overflow用户

发布于 2021-12-08 11:03:08

我设置了一个示例项目,但我没有得到您的行为。我认为这是因为我们在设置UISplitViewController时所做的事情有所不同。

首先,感谢(@matt on SO)的两篇文章。(第一部分这里)这给我的代码带来了一些很大的变化。

基本上,我不再将我的UISplitViewController设置为我的场景中的根视图。相反,我根本不碰SceneDelegate,而是使用默认的ViewController

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let primaryVC = PrimaryVC()
let secondaryVC = SecondaryVC()
let compactVC = CompactVC()

override func viewDidLoad() {
    super.viewDidLoad()
    let split = UISplitViewController(style: .doubleColumn)
    self.addChild(split)
    self.view.addSubview(split.view)
    split.view.frame = self.view.bounds
    split.presentsWithGesture = true
    split.preferredSplitBehavior = .tile
    split.view.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    split.didMove(toParent: self)
    split.setViewController(primaryVC, for: .primary)
    split.setViewController(secondaryVC, for: .secondary)
    split.setViewController(compactVC, for: .compact)
}

当我这样做,我得到一个"sidebar.left“按钮和没有”后退“按钮与雪佛龙。我正在使用Xcode 13.1,并对iPadOS 14.0和15.1的目标进行了尝试。

如果您需要添加/替换一个bar按钮,我要做的是:

var barBtnSidebarLeft =UIBarButtonItem(图像: UIImage(systemName:"sidebar.left"),样式:.plain,目标: self,action:#selector(leftSidebarTapped)) navigationItem.leftBarButtonItem = barBtnSidebarLeft

但请注意,如果您这样做,您将得到两个侧边栏按钮!关于条形按钮,还有一个注意事项--尽管UISplitViewController在默认情况下为主和二级提供了导航条,但它并不适用于CompactCompact.com。(坦率地说,我不认为在紧凑尺寸的情况下有一个是好的做法。)

最后,阅读我提供的链接。它真正开始使用UISplitViewControllerDelegate来帮助您正确传递场景状态值。(我更喜欢称它为场景状态,而不是app状态,因为iPads可以有多个应用程序窗口。)

编辑

最后一个想法。IIRC你可以这样做:

  • presentsWithGesture设置为“`false”
  • 在两个视图控制器中放置您自己的酒吧按钮。
  • 手动(通过委托函数?)打开和关闭主视图控制器
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70265083

复制
相关文章
使用 iptables 将 Kubernetes Service 流量随机发送到 Pod
本文将带大家了解 Kubernetes 的 kube-proxy 组件如何使用 iptables 将 service 流量随机发送到 Pod,目的是实现 service 所需的 iptables 规则。
CNCF
2021/04/21
1.7K0
python web应用_如何使用Python将通知发送到Web应用
如何使用Python将通知发送到Web应用 (How to send notifications to your Web App using Python)
用户7886150
2021/01/01
2.5K0
使用Logstash接收Netflow日志并发送到syslog服务器
接受90端口的netflow日志,解析netflow中的源IP、端口、目的IP、端口,并输出syslog到任意端口
heasy3
2020/08/02
2K0
linux审计日志在哪里,linux – 将审计日志发送到SYSLOG服务器
这个答案可能仍然有效,但在2014年,using the Audisp plugin是更好的答案.
全栈程序员站长
2022/08/23
4.1K0
将CSV的数据发送到kafka(java版)
前面的图可以看出,读取CSV再发送消息到kafka的操作是Java应用所为,因此今天的主要工作就是开发这个Java应用,并验证;
程序员欣宸
2021/04/16
3.5K0
将CSV的数据发送到kafka(java版)
使用alpha混合将图像分层和图像抗锯齿。
import matplotlib.pyplot as plt import numpy as np methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell',
裴来凡
2022/05/28
1.2K0
使用alpha混合将图像分层和图像抗锯齿。
如何将Flink应用的日志发送到kafka
产线环境上的Flink应用是长时运行的应用,日志量较大,通过flink web页面查看任务日志会导致浏览器卡死,通过日志排查问题非常不便。因此,需要将flink应用的日志发送到外部系统,方便进行日志检索
Eights
2020/09/10
2.4K0
如何将Flink应用的日志发送到kafka
系统捕获异常并发送到服务器
大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了
xiangzhihong
2018/01/30
9400
系统捕获异常并发送到服务器
构建fluentd镜像将收集的日志发送到elasticsearch
构建脚本: version: "3" services: fluentd: build: ./fluentd volumes: - ./fluentd/conf:/fluentd/etc privileged: true ports: - "24224:24224" - "24224:24224/udp" environment: - TZ=Asia/Shanghai restart: always
johnhuster的分享
2022/03/28
5340
Office.Core服务器无法使用问题
1).通过webconfig中增加模拟,加入管理员权限, <identity impersonate="true" userName="系统管理员" password="系统管理员密码"/> 2).这样就能够启动Application进程,操作EXCEL了,能够新建EXCEL,导出EXCEL,但是还是不能打开服务器端的EXCEL文件
happlyfox
2018/10/31
9270
Ubuntu下无法使用SecureCRT连接服务器
把配置文件中的"PermitRootLogin without-password"加一个"#"号注释掉,再增加一句"PermitRootLogin yes",保存文件,如下图。这样做是为了允许root用户登录
知忆
2021/06/09
4.3K0
H3C交换机配置信息中心将日志发送到日志服务器
摘自官方文档 http://www.h3c.com/cn/d_200711/317187_30005_0.htm#_Toc164570689
yuanfan2012
2020/06/10
10.4K0
H3C交换机配置信息中心将日志发送到日志服务器
[记]使用jQuery Jcrop 图像裁剪无法更换图片的坑
​ 因为公司需求,需要完成一个显示屏定制的业务,用户自主上传图片然后在线裁剪的功能,我选择了jQuery Jcrop这个插件。 先看看怎么使用 使用方法 载入 CSS 文件 <link rel="stylesheet" href="jquery.Jcrop.css"> 载入 JavaScript 文件 <script src="jquery.js"></script> <script src="jquery.Jcrop.js"></script> 给 IMG 标签加上 ID <img id="e
游魂
2018/06/08
1.6K0
Python中日志异步发送到远程服务器
背景 在Python中使用日志最常用的方式就是在控制台和文件中输出日志了,logging模块也很好的提供的相应 的类,使用起来也非常方便,但是有时我们可能会有一些需求,如还需要将日志发送到远端,或者直
CeshirenTester
2022/06/09
3820
使用K-Means算法将图像压缩6倍!
在本文中,我们将讨论K-Means算法,它是一种基于聚类的无监督机器学习算法。此外,我们还将讨论如何使用K-Means来压缩图像。
Python数据科学
2019/04/09
1.4K0
使用K-Means算法将图像压缩6倍!
如何将SVG图像使用在HTML网站中
使用PS生成SVG图像用编辑器打开发现是data:img/png;base64而非/path
Din
2018/10/19
4.7K0
如何将SVG图像使用在HTML网站中
Apache报错:无法使用可靠的服务器域名
网上很多说改为 ServerName localhost:80, 其实去掉前面注释报错就不显示了
很酷的站长
2023/02/18
1.1K0
Apache报错:无法使用可靠的服务器域名
使用 Proxifier 将本机代理为服务器
  咱们并不能直接使用 Proxifier 进行代理,需要为其先创建一个隧道。就好比咋给两个世界搞一个虫洞,让小飞机可以穿过虫洞到达另外一个世界。常见的 SSH 工具都有构建隧道的功能,我这里以 FinalShell 为例。毫无疑问,第一步先连接上服务器。第二步点击右下角设置 ☞ 然后选择隧道 ☞ 添加隧道。其中隧道名称可以任意填写,类型选择 SOCKS5,监听端口任意,该端口为隧道服务的端口,IP 为隧道的 ip,一般为 127.0.0.1。
Demo_Null
2020/09/28
4.8K0
使用 Proxifier 将本机代理为服务器
使用OpenTelemetry Operator将可观测数据发送到SigNoz
OpenTelemetry Operator 是一个用于部署和管理 OpenTelemetry 组件的 Kubernetes Operator。它是一个自定义的 Kubernetes 控制器,使用 Operator 模式自动化了 OpenTelemetry 环境的部署、配置和管理过程。
我是阳明
2023/09/11
1.1K0
使用OpenTelemetry Operator将可观测数据发送到SigNoz
点击加载更多

相似问题

无法将图像发送到服务器

21

如何使用angular-file-upload获取图像尺寸

20

无法将图像发送到Go服务器

16

无法将图像发送到我的服务器

20

使用NSURLSession将图像发送到服务器

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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