Ich hab mir das ganze von TMS abgeguckt (aus TMSNativeUIToolbar). Dort steht folgendens:
Delphi-Quellcode:
{$IFDEF IOS}
IUIToolBarEventHandler = interface(NSObject)
['{1ACF3DFA-A90B-4F06-ACF1-8A40076BC9ED}']
procedure Click(Sender: Pointer); cdecl;
end;
TUIToolBarEventHandler = class(TOCLocal)
private
FControl: TTMSFMXNativeUIToolBar;
protected
function GetObjectiveCClass: PTypeInfo; override;
public
//IUIToolBarEventHandler
procedure Click(Sender: Pointer); cdecl;
end;
{$ENDIF}
und das Kreieren:
Delphi-Quellcode:
FToolBarEventHandler := TUIToolBarEventHandler.Create;
FToolBarEventHandler.FControl := Self;
Dachte ich kann das gleiche mit einem Integer machen, aber scheinbar war der Gedanke falsch
Meine Anwendung für das Ding sieht so aus:
Delphi-Quellcode:
ToolbarItem1:= FMX.TMSNativeUICore.TUIBarButtonItem.Create;
ToolBarClickHandler:= TUIToolBarClickHandler.Create;
ToolBarClickHandler.FKind:= 2;
ToolbarItem1.initWithBarButtonSystemItem(UIBarButtonSystemItemRefresh, ToolBarClickHandler.GetObjectID, sel_getUid('Click'));
bis[0]:= (ToolbarItem1 as ILocalObject).GetObjectID;
arr:= TNSArray.Wrap(TNSArray.OCClass.arrayWithObjects(@bis[0], Length(bis)));
VPlanView.ViewController.navigationItem.setRightBarButtonItems(arr);