无论如何只针对特定表单而不是整个应用程序锁定方向本身的纵向? 使用Delphi xe6,适用于iOS。似乎无法通过谷歌搜索找到任何东西。谢谢!
更新
我的根本问题是我使用zbar单元进行扫描,当屏幕旋转时,摄像机视图中的显示不会。所以应用程序进入横向,但扫描仪的视图仍然是纵向,从而使视图看起来侧面。从我自己用Google搜索和编写的内容来看,锁定方向似乎更容易,所以这就是我所处的位置。
我发现这篇文章:http://www.delphifeeds.com/go/s/84941,但无济于事,我想要旋转的一种形式仍在旋转。
我暂时实现了这段代码,虽然我找不到它。只是一个快速,修复解决方案..我把所有东西放在布局的顶部和表格的调整大小事件:
with LayoutOrientation do
begin
if Clientwidth > ClientHeight then
begin
Align := TAlignLayout.None;
width := ClientHeight;
height := Clientwidth;
RotationAngle := 90;
RotationCenter.X := 0.948;
end else begin
RotationAngle := 0;
RotationCenter.X := 0.5;
Align := TAlignLayout.Client;
end;
end;
嗯,我不喜欢这个,因为该应用程序仍然需要重新绘制,并且顶部显示的状态栏仍然显示,给它一个时髦的外观。这暂时有效 - 但看起来我真的被黑了,在这种情况下我做了..
答案 0 :(得分:-1)
在显示表单之前和之后更新Application.FormFactor.Orientations。
Application.FormFactor.Orientations := [TFormOrientation.Portrait];
ScannerForm.ShowModal;
Application.FormFactor.Orientations := [TFormOrientation.Portrait, TFormOrientation.Landscape, TFormOrientation.InvertedLandscape];
答案 1 :(得分:-2)
实际上,这取决于您通常如何控制应用程序方向。
如果您使用布局来控制方向,则可以强制为每个oriantation使用相同的布局。
如果要为不同的方向创建不同的表单,可以强制您的应用程序为每个方向使用相同的表单。