新四季網

一種窗體標題欄的創建方法及裝置的製作方法

2023-09-18 15:28:10

專利名稱:一種窗體標題欄的創建方法及裝置的製作方法
技術領域:
本發明屬於IOS作業系統技術領域,尤其涉及一種IOS作業系統下窗體標題欄的創建方法及裝置。
背景技術:
蘋果MAC作業系統或者ios作業系統中的窗體大體分為兩類,帶標題欄窗體和不帶標題欄窗體。帶標題欄的窗體採用系統預先定義好的界面風格,界面形式很難改變。不帶標題欄的窗體雖然可以自定義,但其窗體最小化到應用程式停靠欄(Dock)時顯示的標題為應用程式的標題而不是窗體的標題;而且在蘋果作業系統的窗體顯示工具(EXpos6)中展示時,其窗體標題顯示是空的。綜上所述,現有的MAC作業系統中的兩種窗體不能滿足既能自定義窗體標題欄,又能在Dock和Expos6中展示窗體標題這個需求。

發明內容
本發明的目的在於提供一種窗體標題欄的創建方法,以解決現有MAC作業系統中的窗體不能同時滿足自定義窗體標題欄以及在Dock和Expos6中展示窗體標題的問題。本發明是這樣實現的,一種窗體標題欄的創建方法,所述方法包括:在窗體的頂層視圖中添加一個自定義視圖;將所述自定義視圖作為窗體標題欄覆蓋窗體標題區。

本發明的另一目的在於提供一種窗體標題欄的創建裝置,所述裝置包括:視圖添加單元,用於在窗體的頂層視圖中添加一個自定義視圖;視圖覆蓋單元,用於將所述自定義視圖作為窗體標題欄覆蓋窗體標題區。從上述技術方案可以看出,本發明通過在頂層視圖中添加一自定義的視圖,並將該自定義視圖作為窗體標題欄覆蓋窗體標題區,從而使得該視圖具有自定義性和普通窗體的操作特性,最小化到Dock和Expos6中時窗體標題仍能正常顯示。


圖1是本發明實施例一提供的窗體標題欄創建方法的實現流程圖;圖2是本發明實施例一提供的窗體視圖層次和布局的示例圖;圖3是本發明實施例一提供的窗體標題欄創建的示例圖;圖4是本發明實施例二提供的窗體標題欄創建方法的實現流程圖;圖5是本發明實施例三提供的窗體標題欄創建裝置的組成結構圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。實施例一:圖1示出了本發明實施例一提供的窗體標題欄創建方法的實現流程,該方法過程詳述如下:在步驟SlOl中,在窗體的頂層視圖中添加一個自定義視圖;具體為,獲取用戶區視圖(contentView)的父視圖(superView)對象ViewP,構造蘋果作業系統中的一個視圖類型,比如NSView類型,並構造該NSView類型派生類對象ViewS,將所述派生類對象ViewS作為父視圖對象ViewP的子視圖,並通過調用ViewP中的添加子視圖 接口(將該子視圖接口中addSubview positioned:relativeTo:方法positioned的參數設置為NSWindowBelow)將ViewS設置為ViewP的最底層視圖。需要說明的是,所述contentView的superView為窗體的頂層視圖,所述子視圖為自定義視圖。在本實施例中,所述頂層視圖指的是superView為空的視圖,是一個NSThemeFrame類型的視圖。其中,NSThemeFrame類型是蘋果作業系統中視圖類型(NSView)的派生類型,是contentView的superView,同時也是窗體的頂層視圖。在步驟S102中,將所述自定義視圖作為窗體標題欄覆蓋窗體標題區。具體為,構造蘋果作業系統中的一個窗體類型,比如NSWindow類型,通過該NSffindow類型的通知函數(NSWindowDidResizeNotification,當窗體的大小發生改變時觸發)監測當前窗體大小變更的觸發操作,在監測到當前窗體大小發生變更時,將所述ViewS置於當前窗體的左上角,並將所述ViewS的寬度調整為當前窗體的寬度,將所述contentView的高度調整為所述ViewS的高度,實現窗體標題區的覆蓋。在本實施例中,由於contentView和系統按鈕都是頂層視圖的子視圖(如圖2所示),窗體的標題欄在NSThemeFrame視圖區域中繪製。所以只要在頂層視圖中加入一個自定義的視圖,用所述自定義的視圖覆蓋窗體標題區域使之成為窗體標題欄(如圖3所示),則該視圖就具有自定義性和普通窗體的操作特性,最小化到Dock和Expos6中時窗體標題仍能正常顯示。實施例二:圖4示出了本發明實施例二提供的窗體標題欄創建方法的實現流程,本實施例在實施例一的基礎上增加了步驟S403:在步驟S403中,根據當前窗體的狀態繪製窗體標題欄背景。具體為,構造蘋果作業系統中的一個窗體類型,比如NSWindow類型,通過該NSffindow類型的通知函數(NSWindowDidBecomeMainNotification,當窗體變成激活態時觸發)和NSWindowDidResignMainNotification,當窗體變成非激活態時觸發事件)監測當前窗體狀態變更的觸發操作,在監測到當前窗體狀態發生變更時,從預先存儲的漸變色中提取與當前窗體狀態對應的漸變色,根據提取的漸變色生成NSGradient (蘋果作業系統中的類型,用於視圖的漸變繪製)對象,並調用NSGradient對象中的drawInRect:angle:方法(NSGradient對象的方法,用於繪製指定區域和角度的漸變)繪製窗體標題欄背景(例如繪製成系統風格的標題欄)。需要說明的是,在系統庫中預先存儲有窗體不同狀態下的漸變色,其中所述漸變色可存儲成常量。
在本實施例中,所述狀態包括但不僅限於激活態或者非激活態。本實施例在窗體標題欄自定義的過程中,可以使標題欄背景重新繪製,以及時反映窗體狀態的變更。實施例三:圖5示出了本發明實施例三提供的窗體標題欄創建裝置的組成結構,為了便於說明,僅不出了與本發明實施例相關的部分。該窗體標題欄創建裝置可以是運行於各應用系統內的軟體單元、硬體單元或者軟硬體相結合的單元,也可以作為獨立的掛件集成到各應用系統中。該窗體標題欄創建裝置包括視圖添加單元51以及視圖覆蓋單元52。其中,各單元的具體功能如下:視圖添加單元51,用於在窗體的頂層視圖中添加一個自定義視圖;具體用於獲取用戶區視圖的父視圖對象,並構造一個NSView類型派生類對象,將所述派生類對象作為父視圖對象的子視圖,並通過·調用父視圖對象中的添加子視圖接口將所述派生類對象設置為父視圖對象的最底層視圖。視圖覆蓋單元52,用於將所述自定義視圖作為窗體標題欄覆蓋窗體標題區;具體用於通過NSWindow的通知函數監測當前窗體大小變更的觸發操作,在監測到當前窗體大小變更的觸發操作時,將所述子視圖置於當前窗體的左上角,並將所述子視圖的寬度調整為當前窗體的寬度,將所述用戶區視圖的高度調整為所述子視圖的高度。進一步的,所述裝置還包括背景繪製單元,用於根據當前窗體的狀態繪製窗體標題欄背景,所述狀態包括激活或者非激活態,;具體用於通過NSWindow的通知函數監測當前窗體狀態變更的觸發操作,在監測到當前窗體狀態變更的觸發操作時,從預先存儲的漸變色中提取與當前窗體狀態對應的漸變色,根據提取的漸變色生成NSGradient對象,並調用NSGradient對象中的drawInRect:angle:方法繪製窗體標題欄背景。本實施例提供的窗體標題欄創建裝置可以使用在前述對應的窗體標題欄創建方法中,詳情參見上述窗體標題欄創建方法實施例一和二的相關描述,在此不再贅述。本領域普通技術人員可以理解為實施例三所包括的各個單元只是按照功能邏輯進行劃分的,但並不局限於上述的劃分,只要能夠實現相應的功能即可;另外,各功能單元的具體名稱也只是為了便於相互區分,並不用於限制本發明的保護範圍。綜上所述,本發明實施例通過在頂層視圖中添加一自定義的視圖,並將該自定義視圖作為窗體標題欄覆蓋窗體標題區,從而使得該視圖具有自定義性和普通窗體的操作特性,最小化到Dock和EXpos6中時窗體標題仍能正常顯示。而且,在窗體標題欄自定義的過程中,可以使標題欄背景重新繪製,以及時反映窗體狀態的變更。另外,本發明實施例實現簡單,易用性好,具有較強的實用價值。本領域普通技術人員還可以理解,實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以在存儲於一計算機可讀取存儲介質中,所述的存儲介質,包括R0M/RAM、磁碟、光碟等。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種窗體標題欄的創建方法,其特徵在於,所述方法包括: 在窗體的頂層視圖中添加一個自定義視圖; 將所述自定義視圖作為窗體標題欄覆蓋窗體標題區。
2.如權利要求1所述的方法,其特徵在於,所述在窗體的頂層視圖中添加一個自定義視圖具體包括: 獲取用戶區視圖的父視圖對象,並構造一個NSView類型派生類對象,將所述派生類對象作為父視圖對象的子視圖,並通過調用父視圖對象中的添加子視圖接口將所述派生類對象設置為父視圖對象的最底層視圖。
3.如權利要求2所述的方法,其特徵在於,所述將所述自定義視圖作為窗體標題欄覆蓋窗體標題區具體包括: 通過NSWindow的通知函數監測當前窗體大小變更的觸發操作,在監測到當前窗體大小變更的觸發操作時,將所述子視圖置於當前窗體的左上角,並將所述子視圖的寬度調整為當前窗體的寬度,將所述用戶區視圖的高度調整為所述子視圖的高度。
4.如權利要求1所述的方法,其特徵在於,所述方法還包括: 根據當前窗體的狀態繪製窗體標題欄背景,所述狀態包括激活態或者非激活態。
5.如權利要求4所述的方法,其特徵在於,所述根據當前窗體的狀態繪製窗體標題欄背景具體包括: 通過NSWindow的通知函數監測當前窗體狀態變更的觸發操作,在監測到當前窗體狀態變更的觸發操作時,從預先存儲的漸變色中提取與當前窗體狀態對應的漸變色,根據提取的漸變色生成NSGradient對象,並調用NSGradient對象中的drawInRect:angle:方法繪製窗體標題欄背景。
6.一種窗體標題欄的創建裝置,其特徵在於,所述裝置包括: 視圖添加單元,用於在窗體的頂層視圖中添加一個自定義視圖; 視圖覆蓋單元,用於將所述自定義視圖作為窗體標題欄覆蓋窗體標題區。
7.如權利要求6所述的裝置,其特徵在於,所述視圖添加單元,具體用於獲取用戶區視圖的父視圖對象,並構造一個NSView類型派生類對象,將所述派生類對象作為父視圖對象的子視圖,並通過調用父視圖對象中的添加子視圖接口將所述派生類對象設置為父視圖對象的最底層視圖。
8.如權利要求7所述的裝置,其特徵在於,所述視圖覆蓋單元,具體用於通過NSWindow的通知函數監測當前窗體大小變更的觸發操作,在監測到當前窗體大小變更的觸發操作時,將所述子視圖置於當前窗體的左上角,並將所述子視圖的寬度調整為當前窗體的寬度,將所述用戶區視圖的高度調整為所述子視圖的高度。
9.如權利要求6所述的裝置,其特徵在於,所述裝置還包括: 背景繪製單元,用於根據當前窗體的狀態繪製窗體標題欄背景,所述狀態包括激活或者非激活態。
10.如權利要求9所述的裝置,其特徵在於,所述背景繪製單元,具體用於通過NSffindow的通知函數監測當前窗體狀態變更的觸發操作,在監測到當前窗體狀態變更的觸發操作時,從預先存儲的漸變色中提取與當前窗體狀態對應的漸變色,根據提取的漸變色生成NSGradient對象,並調用NSGradient對象中的drawInRect:angle:方法繪製窗體標題欄背 景。
全文摘要
本發明適用於IOS作業系統技術領域,提供了一種窗體標題欄的創建方法及裝置,所述方法包括在窗體的頂層視圖中添加一個自定義視圖;將所述自定義視圖作為窗體標題欄覆蓋窗體標題區。本發明可以同時滿足MAC下窗體標題欄的自定義以及Dock和Exposé中窗體標題的展示。
文檔編號G06F9/44GK103246505SQ20121003158
公開日2013年8月14日 申請日期2012年2月13日 優先權日2012年2月13日
發明者嶽上, 鄭林州, 肖曉, 陳卓 申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀