我的应用全屏显示。
在使用QT Quick 2时,如何避免在带有缺口的iOS设备上在缺口和主页行后面放置项目?
我的应用程序可以在带有和不带有缺口的设备上运行,并且我试图避免没有缺口的设备顶部和底部出现空白区域。
答案 0 :(得分:0)
如果其他人遇到同样的问题。
首先使您的应用在iOS上不全屏显示,这将在应用的顶部和底部创建黑色区域。
您可以更改黑色区域的颜色以更好地适合您的应用程序:
notch.h
#ifndef NOTCH_H
#define NOTCH_H
#include <QObject>
class Notch : public QObject{
Q_OBJECT
public:
Notch();
};
#endif
notch.mm
#include <UIKit/UIKit.h>
#include "notch.h"
Notch::Notch()
{
//Top
UIView *statusBar = (UIView *)[[UIApplication sharedApplication] valueForKey:@"statusBar"];
statusBar.backgroundColor = [UIColor colorWithRed:0.09 green:0.14 blue:0.19 alpha:1.0];
//Bottom
UIApplication *app = [UIApplication sharedApplication];
app.windows.firstObject.backgroundColor = [UIColor whiteColor];
}
现在只需调用Notch();在您的main.cpp文件中
答案 1 :(得分:0)
I Contacted QT Support and got the real answer. Use the Safe Area Margins when running your app in fullscreen.
#include <qpa/qplatformwindow.h>
void MainWindowBackend::setWindow(QObject *window)
{
QWindow *qwin = qobject_cast<QWindow*>(window);
QPlatformWindow *pWin = qwin->handle();
QMargins safeArea = pWin->safeAreaMargins();
}
also add
QT += gui-private
in your pro file