<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      iOS 開發之Target-action模式

      Target-action:目標-動作模式,它貫穿于iOS開發始終。但是對于初學者來說,還是被這種模式搞得一頭霧水。

      其實Target-action模式很簡單,就是當某個事件發生時,調用那個對象中的那個方法。如:按下按鈕時,調用Controller里邊的click方法。“那個對象”就是Target,“那個方法”就是Action,及Controller是Targer,click方法是action。

      一般Target都是Controller,而Action有它自己固有的格式:-(IBAction)click:(id)sender。

      如下圖所示,target是處理交互事件的對象實例,action是target對象中處理該事件的方法。

      這里有兩種方式給“炒菜”按鈕設置Action:

      1、直接拖拽連線

      2、以代碼的方式實現

      在iOS中有一個UIControl類,該類中定義了一個

      -(void)addTarget:(id)target action:(SEL) forControlEvents:(UIControlEvents)controlEvents

       

       方法,大部分視圖類都繼承自UIControl類,所以"炒菜"按鈕可以使用該方法實現Target-action模式。在iOS中這種設計模式被稱作一個對象給另外一個對象發送消息。

      - (void)viewDidLoad
      {
          [super viewDidLoad];
          
          // 給炒菜按鈕添加點擊事件
          // 使用Target-action設計模式,在兩個對象間直接發送消息
          [self.btnCooking addTarget:self action:@selector(pressCooking:) forControlEvents:UIControlEventTouchUpInside];
      }

      1、self 指目標對象為當前對象,及WViewController;

      2、action 即 在目標對象上的點擊方法;

      3、何時調用該方法,UIControlEventTouchUpInside即單擊時。

      “炒菜”按鈕是一個可交互的視圖控件,點擊它后,它指定了一個target(目標對象),并執行目標對象上指定的action(方法)。

      action方法有以下幾種形式:

      - (void)doSomething;
      // OR
      - (void)doSomething:(id)sender;
      // OR
      - (IBAction)doSomething:(id)sender;
      // OR
      - (IBAction)doSomething:(UIButton *) sender;

      這里的sender,發送者,就是對 “菜單” 按鈕對象的引用。

      以下代碼是完全用代碼定義的一個UIButton,并添加在self.view中:

      - (void)viewDidLoad
      {
          [super viewDidLoad];
          
          // 實例化按鈕,并設置按鈕類型為圓角
          UIButton *btnCustom = [UIButton buttonWithType:UIButtonTypeRoundedRect];
          // 設置按鈕大小
          btnCustom.frame = CGRectMake(124, 140, 73, 44);
          // 設置按鈕標題
          [btnCustom setTitle:@"點擊我..." forState:UIControlStateNormal];
          // 設置按鈕點擊事件
          [btnCustom addTarget:self action:@selector(customButton) forControlEvents:UIControlEventTouchUpInside];
          // 將按鈕添加到View
          [self.view addSubview:btnCustom];
      }
      
      /**
       自定義按鈕點擊方法
       */
      - (void)customButton{
          [self.lblDish setText:self.txtMaterial.text];
      }

       UIButton的幾種觸發方式:

      1、UIControlEventTouchDown 

        指鼠標左鍵按下(注:只是“按下”)的動作

      2、UIControlEventTouchDownRepeat

        指鼠標左鍵連續多次重復按下(注:只是“按下”)的動作,比如,鼠標連續雙擊、三擊、……、多次連擊。

        說明:多次重復按下時,事件序列是這樣的:

        UIControlEventTouchDown -> 

        (UIControlEventTouchUpInside) -> 

        UIControlEventTouchDown -> 

        UIControlEventTouchDownRepeat -> 

        (UIControlEventTouchUpInside) -> 

        UIControlEventTouchDown -> 

        UIControlEventTouchDownRepeat -> 

        (UIControlEventTouchUpInside) ->

        ......

        除了第一次按下外,后面每次摁下都是一個UIControlEventTouchDown事件,然后緊跟一個UIControlEventTouchDownRepeat事件。

      3、UIControlEventTouchDragInside

        指按下鼠標,然后在控件邊界范圍內拖動。

      4、UIControlEventTouchDragOutside

        與UIControlEventTouchDragInside不同的是,拖動時,鼠標位于控件邊界范圍之外。

        但首先得有個UIControlEventTouchDown事件,然后接一個UIControlEventTouchDragInside事件,再接一個UIControlEventTouchDragExit事件,這時,鼠標已經位于控件外了,繼續拖動就是UIControlEventTouchDragOutside事件了。

        具體操作是:在控件里面按下鼠標,然后拖動到控件之外。

      5、UIControlEventTouchDragEnter

        指拖動動作中,從控件邊界外到內時產生的事件。

      6、UIControlEventTouchDragExit

        指拖動動作中,從控件邊界內到外時產生的事件。

      7、UIControlEventTouchUpInside

        指鼠標在控件范圍內抬起,前提先得按下,即UIControlEventTouchDown或UIControlEventTouchDownRepeat事件。

      8、UIControlEventTouchUpOutside

        指鼠標在控件邊界范圍外抬起,前提先得按下,然后拖動到控件外,即 

        UIControlEventTouchDown -> 

        UIControlEventTouchDragInside(n 個) -> 

        UIControlEventTouchDragExit -> 

        UIControlEventTouchDragOutside(n 個) 

        時間序列,再然后就是抬起鼠標,產生UIControlEventTouchUpOutside事件。

      事例傳送門:TargetActionPattern

      參考:

      1、http://developer.apple.com/library/ios/#documentation/general/conceptual/Devpedia-CocoaApp/TargetAction.html

      2、http://blog.teamtreehouse.com/ios-design-patterns-target-action-part-1

      3、http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html

       

      著作權聲明:本文由 http://wzrong.cnblogs.com 或者 http://iostour.diandian.com 原創,歡迎轉載分享。 請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!

       


       

      原創文章,如需轉載請注明出處,謝謝!

      歡迎訪問本人技術微博 @iOS之旅 相互交流,共同學習,共同進步!

      歡迎訪問本人微博 @衛志榮

      posted @ 2013-07-27 01:22  白胡子的產品修行錄  閱讀(10777)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 阳信县| 18黑白丝水手服自慰喷水网站 | 亚洲女同在线播放一区二区 | 国产成人高清精品亚洲| 一女被多男玩喷潮视频| 日本道精品一区二区三区| 在线 欧美 中文 亚洲 精品| 少妇人妻偷人偷人精品| 日产日韩亚洲欧美综合下载| 色窝窝免费播放视频在线| 成人国产精品免费网站| 九九热在线视频免费观看| 中文无码热在线视频| 国产一区日韩二区三区| 淅川县| 国产精品久久久久无码网站| 在线国产你懂的| 欧美不卡无线在线一二三区观| 国产国产精品人体在线视| 精品无码人妻一区二区三区| 中年国产丰满熟女乱子正在播放 | 国产欧美一区二区精品仙草咪| 久久精品青青大伊人av| 69天堂人成无码免费视频| 国产二区三区不卡免费| 亚洲av午夜福利大精品| 国产精品色内内在线观看| 日日躁夜夜躁狠狠久久av| 天堂v亚洲国产v第一次| 在线观看AV永久免费| 四房播色综合久久婷婷| 国产成人人综合亚洲欧美丁香花| 东城区| 亚洲 欧美 唯美 国产 伦 综合| 欧美牲交a欧美牲交aⅴ一| av午夜福利一片看久久| 少妇高潮水多太爽了动态图| 精品中文字幕人妻一二| 国产精品一区免费在线看| 闵行区| 99国产午夜福利在线观看|