在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Used in the Delphi Firemonkey Platform is very large, and is well organized. Of course Button, alone Firemonkey, and written.However, under certain circumstances in the OS the Native Control, because you will inevitably need to use a different API, about how to use the Native Control to learn. // // XE4 & iOS Button Example // // http://blog.naver.com/simonsayz // // Ref. // SampleNiblessApp : http://rvelthuis.de/zips/sampleniblessapp.7z // CCR.NSAlertHelper : http://code.google.com/p/delphi-foundations/ // Delegate Example : http://blogs.embarcadero.com/teamj/2013/05/09/3817/ // XE2, Free Pascal : http://blog.naver.com/simonsayz/120162838290 // Source to Html : http://www.duketown.com/marcel/hyperdelphi.shtml // unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, FMX.Platform.iOS, FMX.Layouts, FMX.Memo, // System.TypInfo, Macapi.ObjectiveC, Macapi.ObjCRuntime, iOSapi.CocoaTypes, iOSapi.foundation, iOSapi.uikit, iOSapi.CoreGraphics; type // IBtnDelegate = interface(NSObject) procedure BtnPressed; cdecl; end; // TBtnDelegate = class(TOCLocal) Private Finx : Integer; FMemo : TMemo; Public constructor Create( inx : integer; memo : TMemo ); function GetObjectiveCClass : PTypeInfo; override; procedure BtnPressed; cdecl; end; // TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private public BtnDelegate : TBtnDelegate; end; var Form1: TForm1; implementation {$R *.fmx} Constructor TBtnDelegate.Create ( inx : integer; memo : TMemo ); begin inherited Create; Self.Finx := 10; Self.Fmemo := Memo; end; function TBtnDelegate.GetObjectiveCClass : PTypeInfo; begin Result := TypeInfo(IBtnDelegate); end; // procedure TBtnDelegate.BtnPressed; begin inc(Finx); FMemo.Lines.add('iOS Btn Pressed '+IntToStr(Finx)); end; // procedure TForm1.Button1Click(Sender: TObject); Var Btn : UIButton; begin // Memo1.Lines.Add('FMX Btn Pressed'); // Btn := TUIButton.Wrap( TUIButton.OCClass.buttonWithType(UIButtonTypeRoundedRect) ); // Btn.setFrame ( CGRectMake(40,130,240,100) ); Btn.setTitle (NSStr('iOS UIButton Pressed'),UIControlStateNormal); // BtnDelegate := TBtnDelegate.Create(10,Memo1); // Btn.addTarget( BtnDelegate.GetObjectID, // target sel_getUid('BtnPressed'), // action UIControlEventTouchDown); // event // WindowHandleToPlatform(Self.Handle).View.addSubview(Btn); //亮点啊!!!cnsoft mark end; end. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论