iOS:轉載:UIControl的使用

來源:互聯網
上載者:User

標籤:

主要功能:
UIContol(控制項是所有控制項的基類 如:(UIButton)按鈕主要用於與使用者互動,通常情況下我們不會直接使用UIControl,而是子類化它。
常用屬性:BOOL enabled
   空間預設是啟用的,要禁用控制項,可以將enabled屬性設定為NO,這樣將導致控制項會略任何觸摸控制項事件。被禁用後,控制項還可以用不同的方式顯示自己,

比如變成灰色不可用。由空間的子類完成的,這個屬性卻存在於UIControl中。

執行個體示範:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(40, 60, 100, 60)];    button.backgroundColor = [UIColor orangeColor];    button.enabled = NO;    [button addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchUpInside];    [self.view addSubview:button];- (void)onButton{    NSLog(@"button被點擊");}//不會有輸出結果,因為button的事件被禁用。

BOOL selected;

當使用者選中控制項時,UIControl類會將其selected屬性設定為YES。子類有時使用這個屬性來讓其選擇自身,或者來表現不同的行為方式。

布局方式:

UIControlContentVerticalAlignment:垂直對齊

1.UIControlContentVerticalAlignmentCenter   //置中
2.UIControlContentVerticalAlignmentTop       //置頂
3.UIControlContentVerticalAlignmentBottom  //底部
4.UIControlContentVerticalAlignmentFill       //填充全部

UIControlContentHorizontalAlignment:水平對齊

1.UIControlContentHorizontalAlignmentCenter  //置中
2.UIControlContentHorizontalAlignmentLeft     //居左
3.UIControlContentHorizontalAlignmentRight   //居右
4.UIControlContentHorizontalAlignmentFill       //填充全部

UIControl介紹(二)- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

UIControl類的提供的標準機制,來進行事件登記和接收。這可以指定控制項在發生特定事件時,通知代理的一個方法。此方法用於註冊一個事件,事件可以用邏輯OR合并在一起,因此可以在一次單獨的addTarget調用中指定多個事件,下列事件為基類UIControl所支援,除非另有說明,也是用所有控制項:

UIControlEventTouchDown

單點觸摸按下事件:使用者點觸螢幕,或者又有新手指落下的時候觸發 
例如:[button addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchDown];

UIControlEventTouchDownRepeat

多線觸摸按下事件,點觸計數大於1:使用者按下兩根手指以上時候觸發

UIControlEventTouchDragInside

當一次觸摸在控制項視窗內拖動時

UIControlEventTouchDragUotside

當一次觸摸在控制項視窗之外拖動時

UIControlEventTouchDragEnter

當一次觸摸從控制項視窗之外拖動到內部時

UIControlEventTouchExit

當以一次觸摸從控制項視窗內部拖動到外部時

UIControlEventTouchUpInside

所有在控制項之內觸摸抬起事件

UIControlEventTouchOutside

所有在控制項之外觸摸抬起事件(點觸必須開始與控制項內部才會發送通知)

UIControlEventTouchCancel

所有觸摸取消事件,即依稀觸摸因為放上了太多手指而被取消或者被上鎖或者撥打電話打斷

UIControlEventTouchChanged

當控制項的值發生改變時,發送通知。用於滑塊,分段控制項以及其他取值的控制項

UIControlEventEditingDidBegin

當文本控制項中開始編輯是發送通知

UIControlEventEditingChanged

當文本控制項的文本被改變時發送通知

UIControlEventEditingDidEnd

當文本控制項編輯結束時發送通知

UIControlEventEditingDidOnEit

當文本控制項內通過按下斷行符號鍵(或等價行為)結束編輯時,發送通知

UIControlEventEditingEvents

通知所有關於文本編輯的事件

UIControlEventAllEvents

通知所有事件

UIControl介紹(三)常用方法- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

刪除一個或多個事件的響應動作,可以是使用UIControl類的removeTarget.使用nil值就可以將給定事件的目標所有動作刪除:

註冊事件的時候,方法簽名有兩種:
  • -(void)onEventMethod:(UIControl *)sender;
  • -(void)onEventMethod;

iOS:轉載:UIControl的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.