当前位置: 首页 > 知识库问答 >
问题:

SwiftUI:如何在没有AppDelegate的情况下强制景观

栾越
2023-03-14

我正在制作应用程序与视频播放器在它和我的整个结构是为只有肖像视图,除了这个视频播放器。我只想为这个视图启用景观旋转。但是我在很多论坛上做了很多文章,每一篇文章都是为了给App Delegate添加一些代码,但是我没有。那我能做什么。

共有1个答案

王弘和
2023-03-14

这里有一个演示给你。确保至少点击几次按钮进行测试,这样随机元素至少改变一次方位,然后就可以看到函数起作用了。

import SwiftUI
import UIKit

struct ContentView: View {
    var body: some View {
        Button("Change orientation", action: changeOrientation)
    }
    
    func changeOrientation() {
        // Some orientations here
        let orientations: [UIInterfaceOrientation] = [
            .landscapeLeft,
            .portrait
        ]
        // select a random orientation
        let orientation = orientations.randomElement()!
        // tell the app to change the orientation
        UIDevice.current.setValue(orientation.rawValue, forKey: "orientation")
        print("Changing to", orientation.isPortrait ? "Portrait" : "Landscape")
    }
}
 类似资料:
  • 所以我有一个扩展JPanel的“GameCourt”类。这个类覆盖paintComponent代码,以便绘制一些组件(迷宫、字符和一些硬币)。这个JPanel是扩展JLayeredPane的类的一部分,它有两层,一层用于绘制背景(使用扩展JPanel的BackgroundPanel类),另一层用于绘制我想要的所有元素(一个重置按钮,一个标签..) 所以我想要的是JLayeredPane中背景上方的

  • 问题内容: 我正在尝试将新记录插入到我之前知道是唯一的表中。我试过在对象上调用save(),但是这样做在执行任何INSERT之前会执行一堆SELECT语句,我不想​​这样做,因为我知道对象已经是唯一的。 我为每个交易都打开了一个新会话,可以看到这是一个问题,但这是我的工作范围的限制。有什么办法可以强迫Hibernate在插入之前不做任何选择? 问题答案: 您可以使用persist()方法而不是sa

  • 我正在开发一款嵌入式设备,它可以通过WiFi与iPad(仅限WiFi)进行通信。但是,这些设备未连接到internet。它们只是连接到一个特定的端口,该端口不断地转发某些信息。iPad连接到接入点,从DHCP接收IP地址,现在可以到达所需的位置 我看到的是频繁的断开连接,或连接中断。 我的怀疑是iPad无法连接到导致它重新扫描WiFi网络或以其他方式暂时中断连接。 有没有办法禁用这种行为,或者确保

  • 问题内容: 我正在尝试设置spring xml配置,而不必创建进一步的。但是,即使我将数据库属性包括在 spring.xml: 我在这里想念什么? 问题答案: 在entityManagerFactory bean定义中指定“ packagesToScan”和“ persistenceUnitName”属性。 请注意,这适用于Spring版本> 3.1

  • 问题内容: 我正在学习使用Selenium(v2.20)来领先一些 即将使用它创建浏览器测试的程序员。我想在 陷阱到达之前发现它们,而我却跌入了一个陷阱。 当我创建ChromeDriver时,它始终会弹出“ Google Chrome EULA”并 显示两个按钮:“接受并运行”和“取消”。因为我希望这是一个 自动化测试,所以让用户单击按钮是不可能的。 我查看了Chromium CommandSwi

  • 问题内容: 我正在做一些用Java编写的应用程序的基准测试。对于实验而言,非常重要的一点是结果不受页面缓存的影响(我使用的是Linux) 因此,避免打开页面缓存的最佳方法是在每次打开文件时使用O_DIRECT。因此,我在jre的源代码中更改了相应的代码。 我的方法对于经历(例如写作)的所有事物都非常适用,但是对(例如阅读)却不起作用。 将O_DIRECT添加到的open-call中时,JVM无法加