Tag: firemonkey

如何使用RAD Studio FireMonkey在iOS和Android上启动导航应用程序?

我知道我可以使用像maps.apple.com/?q=Firehouse+Subs这样的URL 以编程方式在iOS 6中打开地图应用程序 ,但是如何才能使用FireMonkey工作呢? 我可以把它放到WebBrowser中,但它只是显示Google Maps的Web界面。 另外我知道这不适用于Android,但我可以使用意图来处理,但FireMonkey似乎也没有公开。 更新:进一步的研究表明,这可能暂时是不可能的,即使我写了一些平台特定的代码。 这个答案表明,如果不涉及Java,intent是无法被解雇的。 是否还有一种方法可以通过C ++将URL发送到iOS来打开导航? 我没有太多的iOS开发经验。

在FMX.Platform.iOS中重载一个方法

在FMX.Platform.iOS这个方法被添加到App委托中 class_addMethod(appDelegateClass, sel_getUid('application:didReceiveLocalNotification:'), @applicationDidReceiveLocalNotification, 'v@:@@'); 其程序是: procedure applicationDidReceiveLocalNotification(self: id; _cmd: SEL; application: PUIApplication; notification: Pointer); cdecl; begin PlatformCocoa.FAppDelegate.application(TUIApplication.Wrap(application), TUILocalNotification.Wrap(notification)); end; 我想在我的主要单元中重载这个方法,但它只适用于我从FMX.Platform.iOS删除它的声明 在我的主要单位,我添加方法如下: class_addMethod(objc_getClass('DelphiAppDelegate'), sel_getUid('application:didReceiveLocalNotification:'), @applicationDidReceiveLocalNotification, 'v@:@@'); 而我的程序: procedure applicationDidReceiveLocalNotification(self: id; _cmd: SEL; application: PUIApplication; notification: Pointer); begin ShowMessage('it works'); end; 我想尝试和尽可能保持FMX.Platform.iOS源代码,有没有办法告诉编译器使用我的applicationDidReceiveLocalNotification而不是源代码中的?

iOS上的FMX:如何执行部分失效?

当我使表单上的一个控件失效时, Paint表单上的所有控件都会调用Paint方法。 这发生在iOS上,而在Windows上,本地失效工作,只有被请求的控制被绘制。 为了validation这一点,我做了一个小小的testing程序,在TPaintBox上只有两个TPaintBox ,并为它们分配了这些Click和Paint方法: procedure TForm1.PaintBox1Click(Sender: TObject); var lPaintBox: TPaintBox; begin lPaintBox := TPaintBox(Sender); lPaintBox.InvalidateRect(lPaintBox.LocalRect); end; procedure TForm1.PaintBox1Paint(Sender: TObject; Canvas: TCanvas); var lPaintBox: TPaintBox; begin lPaintBox := TPaintBox(Sender); lPaintBox.Canvas.Fill.Color := claBlack; lPaintBox.Canvas.FillText(RectF(0,0,50,50),'Paint count = '+inttostr(lPaintBox.Tag),true, 1, [], ttextAlign.Center); lPaintBox.Tag := lPaintBox.Tag +1; end; 无论我触摸哪一个颜料盒,另一个也被涂上颜料。 所以在iOS上,他们总是显示相同的数字。 有没有办法避免这种情况? 我使用柏林更新2与XCode 8.2 UPDATE 进一步调查我发现InvalidateRect调用这个: procedure TCustomForm.AddUpdateRect(R: TRectF); begin […]

delphiiOS和平移手势 – 距离始终为零

我有这个(现在工作)的代码基于我拾起各地的位: procedure TFormMain.imgMapsGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); var LObj: IControl; LImage: TImage; W: Single; H: Single; begin LImage := nil; LObj := Self.ObjectAtPoint(ClientToScreen(EventInfo.Location)); if (LObj is TImage) and (LObj.Visible) then begin LImage := TImage(LObj.GetObject); if (LImage <> imgMaps) then LImage := nil ; end ; if LImage = nil then Exit ; […]

在触摸屏上捕捉签名非常粗略

我遵循一个教程来捕获在Firemonkey中的签名 ,并做了一些重大的修改(本质上是重写)封装在自定义控件中。 我在VCL写了很多控件,但是这是我第一次使用FMX。 当使用鼠标(Windows或OS X)时,它完美的工作。 但是,使用触摸屏(iOS)时,变得非常粗略。 具体来说,它会持续捕获鼠标事件(或在此情况下,“笔”)。 所以一条直线变成了一条虚线。 这是MouseUp在触摸屏上滑动手指时反复发射的直接结果。 视窗: iOS版: 当手指没有从触摸屏上抬起时,我怎样才能防止它“捕捉”事件? 控制单元: VectorSignature.pas unit VectorSignature; interface uses System.Classes, System.SysUtils, System.Types, System.UITypes, System.Generics.Collections, FMX.Controls, FMX.Objects, FMX.Graphics, FMX.Types; type TSignatureControl = class; TVectorState = (vsPenDown, vsPenMove, vsPenUp); TVectorPoint = record CurPos: TPointF; State: TVectorState; end; TVectorEvent = procedure(Sender: TObject; Point: TVectorPoint) of object; TSignatureControl = class(TShape) […]

Delphi XE7:如何在iOS 7中获取原生状态栏行为?

在iOS 7中,状态栏的默认行为是透明的,但在Delphi XE7中似乎不可能。 状态栏总是与mainform获得相同的颜色(这是iOS 6的默认行为)。 Mainform.borderstyle控制是否显示状态栏,但我找不到任何方法将其设置为透明。 我曾尝试在info.plist中设置UIViewControllerBasedStatusBarAppearance和UIStatusBarStyle ,并尝试调用 TUIApplication.wrap(TUIApplication.OCClass.sharedApplication).setStatusBarStyle(UIStatusBarStyleBlackTranslucent) 但仍然稳固。 有没有人成功透明? – 或者这是一个错误(或缺lessfunction)在XE7?

delphiTListBox iOS制作新的itemstyle /行为

我需要显示自定义数据。 例如,我需要显示一个联系人名单,描述,照片。 理想情况下,我也想在那里显示自定义数据,例如一个button启动电话。 默认样式不完全是我想要的,但相当接近。 因此,据我所知,如果我可以创build自定义样式,TListBox可以是一个体面的控制? 那可能吗? (另外一个问题当然是设置自定义数据控件的值。)

我可以从iOS的FireMonkey调用Web服务吗?

我是新来的iOS,已经在delphi多年的发展。 我不太了解FPC,我发现很难弄清哪些类可以在iOS上使用。 有没有用于调用Web服务和parsingXML的FireMonkey类?

delphiXE4 iOS应用程序失败的代码签名validation

我有一个问题,我不能解决与应用程序加载器说明: “应用程序失败的代码签名validation。签名无效,包含不允许的权利,或未使用iPhone分发证书签名” 以下是我的Delphiconfiguration的一些截图: 任何一点可以检查正确的方向? 我已经加倍检查我的移动设置是正确的。 我有doublechecked证书ID正确。 (我甚至试图进入一个制定一个只是为了确保delphi然后抱怨在部署,它做…因此,这也意味着在部署期间调用密码) 程序开发人员ID是自动获取加载button,所以我认为这是正确的。 我可以在注册的iPhone设备上进行debugging。 我不确定这两件事是相关的(因此两个不同的SO),但我也得到一个“Bundle ID”错误,这对我来说同样神秘: Delphi XE4和iOS Application Loader抱怨“这个包是无效的”

Delphi XE4 FireMonkey TMemo透明吗? (IOS)

在Delphi / iOS / FireMonkey中有没有办法使TMemo变得透明? select+右键单击备忘录控件时,我看不出自己编辑样式的方法…