由于工作的原因,本人要參與Mac開發,這方面知識純小白一枚,從今天起記錄Mac開發的點點滴滴.....
1.更好的理解AppKit框架的最好方法是從類NSControl開始。類NSButton,NSSlider,NSTextView,NSColorWell都是NSControl的子類??刂频谋匾獎幼魇悄繕撕葎幼鳎╰arget 和 action)。目標是一個指向對象的指針,動作是發送一個消息或者選擇器到目標。
NSControl 的繼承關系圖
- 繼承關系最上層是NSObject.所有的類都繼承自 NSObject,從它獲得最基本的一些方法:retain,release,dealloc和init。NSResponder是NSObject的一個子類,NSResponder對象可以處理一些諸如mouseDown:和keyDown:之類的方法,NSView是NSResponder的一個子類,它描述了窗口上的一個位置,用來描述自己,也可以創建NSview的一個子類來顯示圖片,并與許用戶拖曳。NSControl繼承自NSview,增加了target和action。
- NSButton
2.1
-(void) setEnabled:(BOOL)yn;
激活按鈕,用戶可單擊,禁用按鈕后是灰色的。
- (NSInteger)state;
假如按鈕是on,則返回NSOnState(值為1);假如按鈕是off,則返回NSOffstate (值為0)。這個方法幫助開發者了解單選框是否選上。
-(void)setState:(NSInteger)aState;
這個方法設置按鈕啟用或沒啟用,允許在程序中檢查單選框是否選上,設置狀態為 NSOnState就表示單選框已選上,設置為NSOffstate酒表示不用選上。
3.NSSlider
-(void) setFloatValue:(float)x;
將滾動條滾動到x。
- (float)floatValue;
返回滾動條當前的值。
4.NSTextField
- 文本框都有一個占位符。當文本框清空時,占位符顯示為灰色。
NSSecureTextField 是NSTextField的子類,用于密碼輸入,當用戶輸入字符時,用*符號代替顯示,不能從NSSecureTextField的文本框進行復制和剪切。
- (NSString*) stringValue;
- (void)setStringValue:(NSString*)aString;
可進行文本框中字符讀取和設置。
- (NSObject*)objectValue;
- (void)setObjectValue:(NSString*)obj;