我们正在使用RADStudio 10.1 Berlin和FireMonkey为iOS开发应用程序。
使用适用于iOS 11.1.2(15B202)的Xcode 9.1(9B55)构建应用程序时,我们会在状态栏正下方的顶部显示一个白条。
即使我们根本不使用任何样式书,也会发生这种情况。
我们尝试了什么
在Android上部署 - 没问题。
更改' FormFactor.Devices'来自桌面'到了' iPad',并添加了iPhone'。问题仍然存在,我们尝试的每个组合都给了xCode 9和iOS 11的奇怪白条。
我们也尝试在iOS模拟器上运行它,但是在模拟器本身遇到了问题。
将属性Border.Styling
设置为False
。问题仍然存在。
将Form.Caption设置为空字符串。问题仍然存在。
我们发现白条是不状态栏。状态栏在上面我们神秘的白条上可见 它可能是某种导航栏,不幸的是FireMonkey似乎没有让我们访问内置控件。
我们在MCVE中复制了这个。
这是Delphi代码:
unit Unit6;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls, System.Actions, FMX.ActnList,
FMX.StdActns, FMX.MediaLibrary.Actions;
type
TForm6 = class(TForm)
ActionList1: TActionList;
TakePhotoFromCameraAction1: TTakePhotoFromCameraAction;
SpeedButton1: TSpeedButton;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.fmx}
end.
这是表格(FMX)的代码:
object Form6: TForm6
Left = 0
Top = 0
Border.Styling = False
BorderIcons = []
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [iPad]
DesignerMasterStyle = 0
object SpeedButton1: TSpeedButton
Action = TakePhotoFromCameraAction1
Enabled = True
ImageIndex = -1
Position.X = 144.000000000000000000
Position.Y = 272.000000000000000000
Visible = True
end
object ActionList1: TActionList
Left = 64
Top = 88
object TakePhotoFromCameraAction1: TTakePhotoFromCameraAction
Category = 'Media Library'
end
end
end
所以问题是,我们如何摆脱这个奇怪的酒吧?
答案 0 :(得分:1)
将BorderStyle
设置为none
可以解决问题。
来自documentation of Borderstyle:
在iOS应用程序中,“无”使您的表单以全屏模式运行。同 任何其他值,您的iOS应用程序显示iOS状态栏