中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS UIView中hitTest:withEvent方法觸摸的位置設置

發布時間:2020-07-14 01:11:40 來源:網絡 閱讀:1097 作者:大頭狼小鬼 欄目:移動開發
#pragma?mark?在UIView視圖結構中查找點擊view的觸摸事件
-?(UIView?*)hitTest:(CGPoint)point?withEvent:(UIEvent?*)event{
????
????//?如果不可以交互?|?隱藏?|?透明度太小?3者任意一個都忽略不能點擊
????if(!self.userInteractionEnabled?||?self.hidden?||?self.alpha<=0.01){
????????return?nil;
????}
????if([self?pointInside:point?withEvent:event]){
????????
???????__block?UIView?*hit?=??nil;
????????
????????//NSEnumerationReverse?倒序
????????[self.subviews?enumerateObjectsWithOptions:(NSEnumerationReverse)?usingBlock:^(__kindof?UIView?*?_Nonnull?obj,?NSUInteger?idx,?BOOL?*?_Nonnull?stop)?{
????????????
????????????///進行坐標轉化
????????????CGPoint?vonverPoint?=?[self?convertPoint:point?toView:obj];
????????????hit?=?[obj?hitTest:vonverPoint?withEvent:event];
????????????if(hit){
????????????????*stop?=?YES;
????????????}
????????}];
????????if(hit){
????????????return?hit;
????????}else{
????????????return?self;
????????}
????}else{
????????return?nil;
????}
}

#pragma?mark?觸摸的位置是否在當前view視圖中合適的點擊位置
-?(BOOL)pointInside:(CGPoint)point?withEvent:(UIEvent?*)event{
????
????CGFloat?x1?=?point.x;?//?觸摸的x
????CGFloat?y1?=?point.y;?//?觸摸的y
????
????CGFloat?x2?=?self.frame.size.width/2;?//view的?x
????CGFloat?y2?=?self.frame.size.height/2;?//view的?y
????
????
????double?dis?=?sqrt((x1-x2?)*(x1-x2)?+?(y1-y2?)*(y1-y2));?//這里設置自己的判斷,button的大小?或者按鈕中心的一點?或者buton里放置的最大圓等
????if(dis<=self.frame.size.width/2){?//判斷當前觸摸的點是不是自己要點擊的區域
????????return?YES;
????}else{
????????return?NO;
????}
}

在UIView中做的轉盤游戲,我們需要判斷點擊的位置,然后做對應的點擊事件處理,我們就可以用上面的辦法,或者tabBar凸出的部分等都會用到,首先就要了解hitTest是什么,然后他的調用順序才能合理的應用,來極大的縮短時間。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴安县| 泾川县| 理塘县| 鄂伦春自治旗| 昌图县| 浙江省| 湖南省| 仪陇县| 潍坊市| 金沙县| 门头沟区| 高唐县| 攀枝花市| 浮山县| 新民市| 武汉市| 南宁市| 东安县| 界首市| 江西省| 苏州市| 新绛县| 贺兰县| 四川省| 汝南县| 清水县| 吴江市| 贡觉县| 七台河市| 措勤县| 漳州市| 奎屯市| 渝北区| 垣曲县| 金坛市| 蒙阴县| 梧州市| 丰宁| 阿勒泰市| 黔东| 故城县|