[發明專利]一種iOS中自定義用戶操作事件響應區域的方法及裝置在審
| 申請號: | 201710651750.9 | 申請日: | 2017-08-02 |
| 公開(公告)號: | CN109388393A | 公開(公告)日: | 2019-02-26 |
| 發明(設計)人: | 徐雅芳;陳少杰;張文明 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F8/34 | 分類號: | G06F8/34;G06F8/38 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩;吳歡燕 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 響應區域 用戶操作事件 自定義 不規則 響應 規則形狀區域 不規則形狀 事件響應 響應事件 類對象 原有的 遞歸 基類 重載 創建 開發 | ||
本發明提供一種iOS中自定義用戶操作事件響應區域的方法及裝置,其中,所述方法包括:S1,創建以UIView類為基類的自定義視圖類,所述自定義視圖類的對象所對應的用戶操作事件響應區域包括不規則響應區域或規則響應區域;S2,重載所述用戶操作事件響應區域所對應的自定義視圖類對象的用于遞歸尋找處理所述用戶操作事件的第一響應者的方法。本發明通過自定義可以響應用戶操作事件的響應區域,該響應區域可以包含不規則形狀區域或規則形狀區域,因而可以根據需要擴大或縮小UIView類響應者對象原有的事件響應區域,可以讓所需要的視圖在不規則的區域內去響應事件,從而滿足實際開發中的需求。
技術領域
本發明涉及互聯網技術領域,更具體地,涉及一種iOS中自定義用戶操作事件響應區域的方法及裝置。
背景技術
對于iOS設備用戶而言,他們通過觸摸屏幕等方式操作設備,iOS設備需對用戶的互動觸摸操作做出反應和處理。iOS系統中由響應者鏈來對各種類型的用戶觸摸操作事件進行響應,響應者鏈是由一系列響應者對象組成的層次結構,其中的每個響應者對象將依次獲得響應事件的機會。在iOS中,UIResponder類是所有響應者對象的基類,它不僅僅定義了事件處理的接口而且還提供共有的響應者行為,UIApplication、UIWindow、UIViewController、UIView以及UIKit中繼承自UIView的控件都間接或直接繼承自UIResponder類,這些類的實例都可以作為響應者對象。當發生事件時,事件首先被發送給第一響應者(第一響應者往往是事件發生的視圖,也就是用戶觸摸屏幕的地方),使其有機會首先處理事件。如果第一響應者沒有進行處理,事件將沿著響應者鏈一直向下傳遞,直到被接受并做出處理。
整個響應者鏈和事件分發的使命都是找出第一響應者。以觸屏事件(TouchEvent)為例,iOS系統檢測到手指觸摸(Touch)操作時會將其打包成一個UIEvent對象,并放入當前活動Application的事件隊列,單例的UIApplication會從事件隊列中取出觸摸事件并傳遞給單例的UIWindow來處理,UIWindow對象首先會使用hitTest:withEvent:方法尋找此次touch操作初始點所在的視圖,即需要將觸摸事件傳遞給其處理的視圖,這個過程稱之為hit-testing。UIWindow實例對象會首先在它的內容視圖上調用hitTest:withEvent:,此方法會在其視圖層級結構中的每個視圖上調用pointInside:withEvent:(該方法用來判斷觸摸事件發生的位置是否處于當前視圖范圍內,以確定用戶是不是觸摸了當前視圖),如果pointInside:withEvent:返回YES,則繼續向下逐級調用,直到找到touch操作發生的位置,這個視圖也就是要找的hit-test view。如果一個子視圖的區域超過父視圖的bound區域,那么正常情況下對子視圖在父視圖之外區域的觸摸操作不會被識別,因為父視圖的pointInside:withEvent:方法會返回NO,這樣就不會繼續向下遍歷子視圖了。因此,響應者對象能做出響應的區域大小為自身的形狀大小,而這些響應者自身的形狀都為比較規則的形狀(如矩形)。
響應者對象能做出響應的區域大小為自身的形狀大小會導致系統提供的響應者對象無法滿足在實際開發過程中某些特定場景的需求,例如,當用戶點擊了一個不規則區域(如圓形的用戶頭像),需要響應該不規則區域內的用戶操作事件時,系統提供的響應者對象對超出其自身frame的區域無法進行響應;或者,當子視圖的frame超出了父視圖的容器大小時,用戶點擊超出部分,系統無法對用戶的點擊操作進行響應;又或者是需要改變系統原生的Tabbar的響應區域時,僅靠系統提供的響應者對象自身所對應的原有的響應區域是無法滿足需求的。
發明內容
為了解決現有系統提供的響應者對象無法滿足實際開發過程中某些特定場景的需求,本發明提供一種iOS中自定義用戶操作事件響應區域的方法及裝置。
根據本發明的一個方面,提供一種iOS中自定義用戶操作事件響應區域的方法,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710651750.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種指令處理方法
- 下一篇:一種分布式編程方法、系統及存儲介質





