iOS開發 - touchBegan事件判斷點選的位置在View上還是在View的子View上
//touch的響應方法
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPointpoint = [[touches anyObject] locationInView:self.view];//convert point to the white layer's coordinates拿到在self.view上但同時在whiteView上的點,下面的同這裡一樣,不一一解釋了
point = [whiteView.layerconvertPoint:point fromLayer:self.view.layer];
//get layer using containsPoint:
if([whiteView.layercontainsPoint:point]) {
//convert point to blueLayer’s coordinates
point = [blueLayer convertPoint:point fromLayer:whiteView.layer];
if([blueLayer containsPoint:point])
{
[[[UIAlertView alloc] initWithTitle:@"Inside Blue Layer"message:nildelegate:nilcancelButtonTitle:@"OK"otherButtonTitles:nil] show];
}else{
[[[UIAlertView alloc] initWithTitle:@"Inside White Layer"message:nildelegate:nilcancelButtonTitle:@"OK"otherButtonTitles:nil]show];
}
}
//----------華麗麗的分割線,從這裡開始是我寫的點選的方法,相對來說比上面使用起來更方便點// CGPoint point=[[touches anyObject]locationInView:self.view];// CALayer *layer=[whiteView.layer hitTest:point];// if (layer==whiteView.layer) {// UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"" message:@"Inside white layer" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];// [alertView show];// }// else if (layer==blueLayer){// UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"" message:@"Inside blue layer" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];// [alertView show];// }}
相關文章
- Android中父View和子view的點選事件的執行過程AndroidView事件
- view.performClick()觸發點選事件ViewORM事件
- [Android]關於Android子view超出父view無法響應點選事件AndroidView事件
- Android自定義View中的常用方法(距離、位置、點選事件)AndroidView事件
- iOS 怎麼在滾動檢視上懸浮一個ViewiOSView
- android View的事件分發AndroidView事件
- pan手勢監聽對view的上下左右滑動,利用關聯物件在block中觸發view的點選事件(附手勢大全)View物件BloC事件
- Android View的工作原理(上)AndroidView
- View的事件體系View事件
- 每日一問:到底為什麼屬性動畫後 View 在新位置還能響應事件動畫View事件
- 探索View的事件分發機制View事件
- View的事件分發機制分析View事件
- MVC的View在web方式下的技術選擇MVCViewWeb
- 《Android藝術開發探索》學習筆記之View的事件體系(View的事件分發機制)Android筆記View事件
- MVCC - Read View的可見性判斷理解MVCView
- 【UWP開發】如何判斷UWP應用在PC還是在xbox上執行?
- View事件分發機制View事件
- ios view touchiOSView
- # 自定義view————流程位置View
- 事件分發之View事件處理事件View
- 《Android藝術開發探索》學習筆記之View的事件體系(View的滑動)Android筆記View事件
- Flutter——原生View的Touch事件分發流程FlutterView事件
- 在Flutter中嵌入原生ViewFlutterView
- iOS開發中的Scroll View應用詳解iOSView
- 點選任意View彈出PickerView
- View事件分發機制分析View事件
- Android開發藝術(2)——View的事件體系AndroidView事件
- Android View 的事件體系AndroidView事件
- 《Android藝術開發探索》學習筆記之View的事件體系(View的彈性滑動)Android筆記View事件
- 在 Excel 裡使用 ODBC 讀取 SAP BTP 平臺上 CDS view 的資料ExcelView
- 深入瞭解View的事件分發過程View事件
- Android View 的事件體系 -- 事件分發機制AndroidView事件
- View事件機制分析View事件
- 如何判斷一個點在地圖上?如何判斷一個點在多邊形內?地圖
- 判斷客戶端是iOS還是Android,判斷是不是在微信瀏覽器開啟客戶端iOSAndroid瀏覽器
- iOS開發UI篇--YXFilmSelectView(一個酷炫的電影選票View)iOSUIView
- 在自定義View時碰到的奇怪問題View
- 在列印視窗,列印檢視View的子檢視結構圖View