自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Cocoa學習之路 屏幕壞點檢查程序開發(fā)實例

移動開發(fā) iOS
本文介紹的是Cocoa學習之路 屏幕壞點檢查程序開發(fā)實例,先來理解屏幕壞點檢查程序的原理,那么我們先來看內(nèi)容。

Cocoa學習之路 屏幕壞點檢查程序開發(fā)實例是本文要介紹的內(nèi)容,不多說,直接進入話題。這個屏幕壞點檢查程序的原理是:用 red,green,blue,black,white 五種顏色以全屏模式顯示,從而檢測屏幕是否存在壞點、暗點、亮點。在全屏模式下單擊切換到下一個顏色,雙擊退出。主要學習Cocoa創(chuàng)建一個全屏窗口和事件處理,主要參考資料有:

RoundTransparentWindow、NSWindow NSEvent 。

Cocoa學習之路 屏幕壞點檢查程序開發(fā)實例

cocoa中全屏窗口需要繼承NSWindow重寫- (id)initWithContentRect,設(shè)置windowStyle為NSBorderlessWindowMask的無邊界窗口

  1. - (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag {  
  2.     // Using NSBorderlessWindowMask results in a window without a title bar.  
  3.     self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];  
  4.     if (self != nil) {  
  5.         [self setLevel:NSStatusWindowLevel];  
  6.         [self setBackgroundColor:[NSColor redColor]];  
  7.  
  8.         NSRect screenFrame = [[NSScreen mainScreen] frame];  
  9.         [self setFrame:NSMakeRect(0, 0, screenFrame.size.width, screenFrame.size.height) display:YES animate:YES];  
  10.     }  
  11.     return self;  

如果想要全屏窗口中響應(yīng)鼠標事件,必須重寫一下- (BOOL)canBecomeKeyWindow,使其總是返回YES:

  1. - (BOOL)canBecomeKeyWindow  
  2. {  
  3.     return YES;  

在 InterfaceBuilder 中為窗口綁定Class為重寫的全屏窗口Class就可以了。這樣一個全屏窗口就建立了,還需要創(chuàng)建兩個事件來處理顏色切換或關(guān)閉全屏窗口。需要在全屏窗口中單擊時切換到下一個顏色,如果是雙擊時就退出全屏窗口。mouseUp事件處理顏色切換,mouseDown事件點擊兩次的時候退出全屏窗口。

  1. - (void)mouseUp:(NSEvent *)theEvent {  
  2.     NSColor *wColor = [self backgroundColor];  
  3.     if(wColor == [NSColor redColor]){  
  4.         [self setBackgroundColor:[NSColor greenColor]];  
  5.     }  
  6.     else if(wColor == [NSColor greenColor]){  
  7.         [self setBackgroundColor:[NSColor blueColor]];  
  8.     }  
  9.     else if(wColor == [NSColor blueColor]){  
  10.         [self setBackgroundColor:[NSColor blackColor]];  
  11.     }  
  12.     else if(wColor == [NSColor blackColor]){  
  13.         [self setBackgroundColor:[NSColor whiteColor]];  
  14.     }  
  15.     else {  
  16.         [self orderOut:nil]; // 隱藏窗口  
  17.     }  
  18. }  
  19. - (void)mouseDown:(NSEvent *)theEvent {  
  20.     // 判斷雙擊  
  21.     if ( [theEvent clickCount] == 2 )  
  22.     {  
  23.         [self orderOut:nil]; // 隱藏窗口  
  24.     }  

相關(guān)附件:源代碼下載  、程序下載

小結(jié):Cocoa學習之路 屏幕壞點檢查程序開發(fā)實例的內(nèi)容介紹完了,希望本文對你有所幫助!

轉(zhuǎn)自:http://www.uedidea.com/cocoa-screen-check.html

 

責任編輯:zhaolei 來源: Cocoa China
相關(guān)推薦

2011-07-20 10:31:49

Cocoa Slider 顏色

2011-05-05 17:13:25

故障筆記本

2019-06-24 09:27:56

DebianUbuntu程序包

2011-07-25 14:32:40

Cocoa 框架 函數(shù)

2011-07-07 13:51:24

Cocoa 框架

2011-06-27 16:00:34

視頻教程Cocoa TouchiOS應(yīng)用

2011-07-22 15:50:06

Cocoa MVC 視圖

2011-07-26 10:42:00

Cocoa Cocoa2d 游戲

2011-07-28 10:34:38

Cocoa 程序 啟動

2011-07-26 15:29:36

Cocoa 模式

2011-07-25 13:15:34

Cocoa MVC 架構(gòu)

2011-06-17 15:57:46

CocoaXcode蘋果

2011-06-15 16:11:51

UIKitCocoa TouchiOS

2019-08-12 07:45:44

Linux腳本shell

2011-08-11 15:46:55

CocoaCocoa Touch框架

2013-05-27 13:37:42

Android開發(fā)移動開發(fā)屏幕截圖

2011-07-26 15:14:24

蘋果 Cocoa 內(nèi)存

2011-05-31 15:41:00

Cocoa TouchCocoaiOS

2011-08-15 15:26:20

iPhone開發(fā)CocoaXML

2011-08-10 16:27:07

Cocoa TouchPlist
點贊
收藏

51CTO技術(shù)棧公眾號