【Cocoa(mac) Application 开发系列之二】总结一些常用控件以及简单在自定义View上绘制字符串

本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/mac-cocoa-application/902.html

          ☞ 点击订阅 ☜
 本博客最新动态!及时将最新博文通知您!

上一篇已经对于xib与控件之间的关系都大致介绍了;

那么本篇不再详细解释如何如何连接控件以及控件代码等,直接给出代码以及需要注意的简单介绍下,便于童鞋们使用时可以给与参考:

1. 首先创建一个MyView类,继承NSView,如下:

1
2
3
4
5
6
7
8
9
10
11
12
//
//  MyView.h
//  ManyControlTest
//
//  Created by Himi on 12-6-6.
//  Copyright (c) 2012年 Himi. All rights reserved.
//
 
#import <Cocoa/Cocoa.h>
 
@interface MyView : NSView
@end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//
//  MyView.m
//  ManyControlTest
//
//  Created by Himi on 12-6-6.
//  Copyright (c) 2012年 Himi. All rights reserved.
//
 
#import "MyView.h"
 
@implementation MyView
- (id)initWithFrame:(NSRect)frame
{
     self = [super initWithFrame:frame];
     if (self) {
         // Initialization code here.
     }
 
     return self;
}
 
- ( void )drawRect:(NSRect)dirtyRect
{
 
     NSString * str =@ "MyView   --by Himi" ;
 
     //属性包装设置
     NSMutableDictionary *dic = [NSMutableDictionary dictionary];
 
     //设置字体样式
     [dic setObject:[NSFont fontWithName:@ "Times" size:14] forKey:NSFontAttributeName];
 
     //设置字体颜色
     [dic setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];
 
     //绘制
     [str drawAtPoint:NSMakePoint(50, 50) withAttributes:dic];
}
 
@end

代码很easy理解,不在赘述啦~

下面我们看一些基础常用控件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//
//  AppDelegate.h
//  ManyControlTest
//
//  Created by Himi on 12-6-3.
//  Copyright (c) 2012年 Himi. All rights reserved.
//
 
#import <Cocoa/Cocoa.h>
#import "MyView.h"
 
@interface AppDelegate : NSObject <NSApplicationDelegate,NSTabViewDelegate>
{
 
     IBOutlet NSTextField *nfCount;
 
     IBOutlet NSView *view ;
 
     IBOutlet NSButton *btn;
 
     IBOutlet NSPopUpButton *popBtn;
 
     IBOutlet NSSegmentedControl * nsc;
 
     IBOutlet NSForm *nForm;
 
     IBOutlet NSMatrix * ms;
 
     IBOutlet NSStepper * nsp;
 
     IBOutlet NSTabView *tbView;
 
     IBOutlet NSColorWell * nsWell;
 
     IBOutlet MyView * myView;
 
}
 
-(IBAction)btnPress:(id)sender;
 
@property (assign) IBOutlet NSWindow *window;
 
@end

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//
//  AppDelegate.m
//  ManyControlTest
//
//  Created by Himi on 12-6-3.
//  Copyright (c) 2012年 Himi. All rights reserved.
//
 
#import "AppDelegate.h"
 
@implementation AppDelegate
 
@synthesize window = _window;
 
- ( void )applicationDidFinishLaunching:(NSNotification *)aNotification
{
     //------绑定Delegate
     [tbView setDelegate:self];
}
-(IBAction)btnPress:(id)sender{
 
     //------ 处理NSButton的
     if (btn == sender){
         [myView setHidden:YES];
     }
 
     //------处理NSPopUpButton
     if (popBtn == sender){
         NSLog(@ "%@" ,[popBtn itemTitleAtIndex:0]);
         NSLog(@ "%@" ,[popBtn itemTitleAtIndex:1]);
         NSLog(@ "%@" ,[popBtn itemTitleAtIndex:2]);
     }
 
     //------处理 NSSegmentedControl
     if (nsc ==sender){
         NSLog(@ "%i" ,[nsc isSelectedForSegment:0]);
         NSLog(@ "%i" ,[nsc isSelectedForSegment:1]);
         NSLog(@ "%i" ,[nsc isSelectedForSegment:2]);
     }
 
     //------处理 NSForm
     if (nForm == sender){
         NSLog(@ "NSForm Cell 1 is %@" ,[[nForm cellAtIndex:0] stringValue]);
 
         NSLog(@ "NSForm Cell 2 is %@" ,[[nForm cellAtIndex:1] stringValue]);
 
         NSLog(@ "NSForm Cell 3 is %@" ,[[nForm cellAtIndex:2] stringValue]);
     }
 
     //------处理NSMatrix
     if (ms == sender){
         NSLog(@ "NSMatrix is Select = %@" ,[[ms selectedCell] title]);
    

你可能感兴趣的:(String,cocoa,application,interface,Dictionary,initialization)