fb_license

技術標籤

@selector (1) 初使化區塊 (1) 物件 (1) 物件導向 (2) 型別 (4) 封裝 (1) 流程控制 (1) 陣列 (3) 推論型別 (2) 實機測試 (1) 蓋索林(gasolin) (1) 模組 (1) 憑證 (1) 轉型 (1) 羅康鴻 (121) 類別 (1) 變數 (5) Accelerometer (1) ActiveRecord (1) Activity (1) AFNetworking (1) alloc (1) Android (3) Animation (1) App (1) App ID (1) APP上傳 (1) ASP.NET (1) AVAudioPlayer (1) block (1) C# (2) class (1) CLLocationManager (1) CLLocationManagerDelegate (1) CMMotionManager (4) Controller (1) delegate (1) DELETE語法 (1) Device Motion資料 (1) Dialog (1) DropDownList (1) dynamic language (2) Facebook SDK (9) FBRequest (5) FBRequestConnection (2) FMDB (1) Gesture Recognizers (6) GROUP BY (2) Gyro (1) HAVING (1) IBAction (1) IBOutlet (1) id (3) inheritance (1) init (1) Insert (1) instance variable (1) Interface Builder (1) iOS (70) iOS idea (7) iOS Introduction (1) Layout (1) Magnetometer (1) Menu (2) Method (2) MKMapView (1) MKPointAnnotation (1) MS SQL (5) Nil (1) NSArray (1) NSDictionary (1) NSError (1) NSFileManager & .plist (1) NSMutableArray (1) NSMutableDictionary (1) NSNotificationCenter (1) NULL (1) object (2) Objective-C (16) Objective-C idea (1) ORDER BY (1) Parameter (1) property (1) protocol (2) Provisioning (1) Proximate Sensor (1) Q and A (2) R類別 (1) Rails (9) RESTful SOA (9) Ruby (8) Scene (1) SEELECT (1) Segue (2) SEL (1) SELECT語法 (1) Shake (1) Simulator (1) SOA (8) SQL (6) SQL Server (5) SQL函數 (1) SQL彙總函數 SQL (1) SQLite (1) Storyboard (1) Style (1) Swift (1) Table (1) target & action (1) Theme (1) Toast (1) TRUNCATE TABLE語法 (1) UIActionSheet (1) UIActionSheetDelegate (1) UIActivityIndicatorView (1) UIAlertView (1) UIBarButtonItem (1) UIButton (1) UICollectionView (1) UICollectionViewDataSource (1) UIControl (9) UIDatePicker (1) UIImage (1) UIImagePickerController (2) UIImagePickerControllerDelegate (2) UIImageView (1) UILabel (1) UILongPressGestureRecognizer (1) UINavigationController (2) UIPanGestureRecognizer (1) UIPinchGestureRecognizer (1) UIProgressView (1) UIResponder (1) UIRotationGestureRecognizer (1) UISegmentedControl (1) UISlider (1) UIStepper (1) UISwipeGestureRecognizer (1) UISwitch (1) UITabBarController (1) UITableView (1) UITableViewDataSource (1) UITapGestureRecognizer (1) UITextField (1) UITextFieldDelegate (1) UITextView (2) UITextViewDelegate (1) UIToolBar (1) UIView (8) UIWebView (1) UPDATE語法 (1) var (2) VB.NET (7) View (4) WHERE子句 (1) XML (1)

2013/06/05

[iOS] UIButton - Target&Action版

我是UIButton,我負責扮演按鈕的角色,讓使用者可以點選

我繼承自UIControl,因此我擁有與使用者互動的基本能力。










第1步:建立一個名為"UIButton"的"Single View Application"專案
 

第2步:拖拉UIButton至畫面中



第4步:建立UIButton的IBOutlet物件參考於ViewController中
  • 4.1 對UIButton按右鍵,按任"New Referencing Outlet"右邊的圓點,並拖拉至ViewController類別中


  • 4.2 於"Name"欄位輸入"button",並按下"Connect"

  • 4.3 確認button Outlet建立完成


第5步:於UIViewController.m建立"touch:"方法


  1. -(void)touch:(id)sender {
        [self.button setTitle:@"被點了!" 
                     forState:UIControlStateNormal];




第6步:以Target&Action模式,透過UIButton的addTarget:action:forControlEvents:方法,將UIButton被使用者點擊的訊息 - UIControlEventTouchUpInside,傳送給self(在此指的是UIViewController的物件實體),並執行self上的touch:方法。


  1. - (void)viewDidLoad {

    [super viewDidLoad];
    //addTarget:self   訊息傳送給self,即目前的UIViewController物件實體 
    //action:@selector(touch:)  透過@selector()指向touch:方法  
    //forControlEvents:UIControlEventTouchUpInside 於按鈕上放開時的事件   
      


    [self.button addTarget:self 
                    action:@selector(touch:)


          forControlEvents:UIControlEventTouchUpInside];





第7步:執行程式,當您按下按鈕並於按鈕中放開,則按鈕上的文字即會透過touch:方法改變成"被點了!"







不了解Target&Action設計模式是如何運作的?! 那讓我來告訴你如何動態將事情交由別人處理吧! 待續…




檔案連結:UIButton.zip