1. 程式人生 > >在UIView中新增點選事件oc及swift

在UIView中新增點選事件oc及swift

UIView繼承於UIResponder是沒有addTarget 方法的,所有隻能在UIView上新增手勢UITapGestureRecognizer來實現點選事件。
首先設定UIView(或其子類)為可互動的:

oc:

iconView.userInteractionEnabled = YES;

新增tap手勢:
//tap手勢

UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapevent:)];

將手勢新增至需要相應的view中

 [iconView addGestureRecognizer:tapGesture];

預設為單擊觸發事件:
設定手指個數:

 [tapGesture setNumberOfTapsRequired:1];

執行觸發的方法:

- (void)tapevent:(UITapGestureRecognizer *)gesture {
 NSLog(@"單擊"); 
 }

Swift:

    view.isUserInteractionEnabled = true
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapGestureAction))
    tapGesture.numberOfTapsRequired = 1
    view.addGestureRecognizer(tapGesture)
//MARK: 點選事件
extension MeViewController{

    @objc fileprivate func tapGestureAction(){
        LGJLog("跳轉個人中心")   
    }
}

相關推薦

UIView新增事件ocswift

UIView繼承於UIResponder是沒有addTarget 方法的,所有隻能在UIView上新增手勢UITapGestureRecognizer來實現點選事件。 首先設定UIView(或其子類)為可互動的: oc: iconView.userIn

Android如何在Fragment新增事件切換新的Fragment

此問題是我在Android開發中遇到,因為自己在網上一直沒有找到好的方法,後來摸爬滾打解決後,打算分享給大家。 首先,在遇到該問題時,我先預設讀者已經對Android開發中Fragment的使用已經有了一定的瞭解。 因為在fragment中無法使用F

JS使用for迴圈新增事件時,獲取i值引數異常原因解決辦法

遇見此問題,程式碼檢查了n次都沒毛病,但是卻出現下述問題, 坑了我好久,原來是這個原因,記錄避坑! PS這是js的處理方法, 在jquery中直接用each遍歷元素繫結點選事件即可避免 $('#id').each(function(i){ $(this).click(

獲取場景的所有按鈕,並新增事件

void Start() {//初始化時 獲取 所有按鈕新增監聽 Addlisteningevent(); } public void Addlisteningevent() {//查詢所有按鈕 Button[] allObj =

騰訊地圖覆蓋物新增事件說明資訊------vue

export default { props: { words: { type: String, default: '' } }, data() { return { searchService: [], map:

[Swift通天遁地]一、超級工具-(1)動態標籤:給UILabel文字的Flag和url新增事件

本文將演示動態標籤的使用,它允許使用者在標籤上進行互動操作。 點選【Podfile】,檢視安裝配置檔案。 1 platform :ios, '8.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://githu

Swift 2.1】為 UIView 新增事件效果

前言   UIView 不像 UIButton 加了點選事件就會有點選效果,體驗要差不少,這裡分別通過自定義和擴充套件來實現類似 UIButton 的效果。 宣告   歡迎轉載,但請保留文章原始出處:)   部落格園:http://www.cnblogs.com  農民伯伯: http://ove

android listview系列之item的事件item佈局事件(四)

很多時候listview只顯示簡略資訊,我們需要點選子項去跳轉或在顯示詳細資訊的位置,將相關的詳細資訊顯示出來,listview提供了onItemClickListener()方法,在方法中我們可以執行我們需要的內容。 listview.setOnItem

關於jquery事件,每一次執行的效果就疊加一次,click是新增事件的意思

我本人還是前端的菜鳥,所以一般在寫特效的時候,喜歡用jquery,但是在用jquery的點選事件中,點選後改變容器中的內容,但是發現每點一次就顯示一個內容,點幾次就有幾個。jquery中 的點選事件,每點一次執行的效果就疊加一次,click是新增點選事件的意思。那麼來解決這

AndroidWebView載入Html的圖片新增事件

    基本的思路: (1)WebView來載入HTML。 (2)向HTML中注入JavaScript,利用JavaScript來呼叫Android中的方法(執行一些跳轉的操作等等)。  首先你必須有一個HTML或者是一個地址,或者是存到本地的一個檔案。我這裡使用的是存到本

封裝-給繼承自UIView的控制元件新增事件

在實際開發中,可能會需要給UILabel、UIView等等新增點選事件,目的就是在保留控制元件自身屬性的同時,多一個點選效果,所以這裡寫了一個UIView的category,用於處理這種情況。 1、.h檔案程式碼如下: #import <UIKit

iOS為view新增事件

UITapGestureRecognizer *ui=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(alickLi

div迴圈生成button並新增事件

回看剛剛學習js的博文,頁面迴圈生成節點是頁面最基礎的操作之一。 要讓頁面顯示效果,必然在頁面新增dom元素!如果想要多個button,那麼迴圈新增必不可少。 首先定義div: <div id="people" style="border: groo

react native使用react-native-viewpager實現的商品展示新增事件

對於android,react-native-viewpager這個第三方實現商品展示很好用 <ViewPager dataSource={this.state.adDataSource}

在輪播圖進行新增事件

當點選輪播圖的時候,輪播圖需要停止輪播;點選完成之後輪播圖可以繼續自動輪播;點選輪播圖將資料裡面的title進行吐司;當用手指滑動輪播圖的時候,輪播圖可以跟隨手指進行滑動,停止自動輪播;當手指離開之後輪播自動繼續只需要在給輪播圖設定載入圖片的時候新增public class

FusionCharts新增事件動態傳引數

strXML += "<set name='1-3月' link='JavaScript:to_show(0,4);' value='"+oType+"' color='AFD8F8'/>"; 或者 doctorXML += "<set name='"+

listview給每個item新增事件

給listview每個item新增點選事件,這個聽起來好像挺迷糊的,在adapter裡面我直接就寫startactivity後來沒成功,為此研究了幾分鐘發現有三種方式實現哈。現在說一下我的解決方法。1、在activit

關於html a標籤新增事件的方法總結

我們常用的在a標籤中有點選事件: 1. a href="javascript:js_method();" 這是我們平臺上常用的方法,但是這種方法在傳遞this等引數的時候很容易出問題,而且javascript:協議作為a的href屬性的時候不僅會導致不必要的觸發wind

css設定隱藏,如何對隱的部分新增事件

在CSS中,讓元素隱藏(指螢幕範圍內肉眼不可見)的方法很多,有的佔據空間,有的不佔據空間;有的可以響應點選,有的不能響應點選。 { display: none; /* 不佔據空間,無法點選 */ }

Unity UGUI按鈕動態新增事件

使用程式碼的方式給按鈕新增點選事件需要引入兩個名稱空間: using UnityEngine.UI; using UnityEngine.Events; 先建立一個介面,並且在介面裡放置一個按鈕: 建立一個Test指令碼,程式碼如下: using