
Cocoa
文章平均质量分 64
Foreveroriginal
让我们一起记录我们走过的风风雨雨、点点滴滴,技术伴随着一路牛逼
展开
-
[Cocoa]_[初级]_[NSTimer在Cocoa中的应用,主要以多张图片切换的播放和停止]
-(IBAction) onPlay:(id)sender{ if(timer == nil) { timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(checkThem:) userInfo:nil repeats:YES] ; } el原创 2014-09-18 18:35:03 · 565 阅读 · 0 评论 -
[Cocoa]_[初级]_[NSTableView--数据操作和表格操作要注意的问题]
1.首先在MainMenu.lib文件里面创建一个NSTableView,在界面上显示一个表格出来,并对表格进行设置。2.创建文件TableViewDelegate.h和TableViewDelegate.m(文件内容如下文件所示)。并在MainMenu.lib文件中创建一个Object(从窗口右边选中Object,拉到在Window中的对话框中),命名:TableViewDelegate.原创 2014-12-30 18:56:52 · 2983 阅读 · 0 评论 -
[Cocoa]_[初级]_[NSTableView添加背景图片]
头文件 MyTableView.h#import @interface MyTableView : NSTableView{ NSImage* backgroundImage;}- (void)setBackgroundImage:(NSImage*)image;- (void)clearBackgroundImage;@end 源文件 MyTableView.m#原创 2015-02-28 11:06:33 · 1095 阅读 · 0 评论 -
[Cocoa]_[初级]_[Cocoa开发应用实现多语言之间自由切换]
多语言的切换原创 2015-03-04 14:41:17 · 1167 阅读 · 0 评论 -
[Cocoa]_[初级]_[vcf文件的生成和导出]
之前对vcf文件一点都不理解,通过学习vcf的相关资料,对此进行了实例验证。对文件进行写入数据:-(void) doSaveVcfFile:(NSString*) filepath cardData:(id) data{ FILE *write =fopen([filepath UTF8String], "w"); if (write == nil) {原创 2015-03-10 18:39:48 · 1110 阅读 · 0 评论 -
[Cocoa]_[初级]_[NSPopUpButton重绘实例]
场景:比如说,定义一个支持多种格式的控件,包含下拉菜单进行多种选择.由于标准的控件在界面上布局和自己所需的相差很多,所以要对控件进行重绘。一下是具体实例:类似于带下拉菜单的文本编辑框。//// MqjPopUpButton.m// MqjEditContact//// Created by mac-d on 4/28/15.// Copyright (c) 2015原创 2015-04-28 19:37:57 · 1142 阅读 · 0 评论 -
[Cocoa]_[初级]_[NSButton之改变title标题的颜色]
场景:用于布局控件,根据界面的需要设置不同颜色的title。之前一直进入一个误区,直接自定义NSButton控件,其实这个方法是不好的,会使title重绘多次,复用性不高。后来发现直接自定义NSButtonCell,可以只对title进行处理就可以了,而不必影响NSButton的其他属性。下面是自定义NSButtonCell的方法。MqjColorTitleButtonCell原创 2015-07-26 15:29:17 · 2896 阅读 · 2 评论 -
[Cocoa]_[初级]_[NSTableView之自定义NSImageButtonCell]
场景:在布局NSTableView的时候,在表格中添加带有多个图片和文字的NSCell,让界面更加符合我们的需求下面是一个自定义的NSButtonCellMqjImageButtonCell.h#import @interface MqjImageButtonCell : NSButtonCell{ NSImage* checkImage[2]; int isCh原创 2015-07-29 21:35:59 · 796 阅读 · 0 评论 -
[Cocoa]_[初级]_[使用NSXMLElement 创建一个XML文件]
场景:未为程序启动的时候配置一些记录文件,保存程序当时的状态。+(void) CreateXmlFile{ NSXMLElement *root =[[NSXMLElement alloc] initWithName:@"group"]; NSXMLElement *family =[[NSXMLElement alloc] initWithName:@"family" st原创 2015-08-29 15:27:05 · 985 阅读 · 0 评论 -
[cocoa]_[初级]_[解析XML文件获取数据]
场景:获取配置文件中某些数据用于程序某个功能的应用。+(void) OpenXmlFile{ NSString *optionPath =@"/Users/mac/work/pratise/12.xml"; NSURL *furl = [NSURL fileURLWithPath:optionPath]; NSXMLDocument * xmlDoc = [[NSXM原创 2015-08-29 15:33:37 · 1085 阅读 · 0 评论 -
[Cocoa]_[初级]_[选择文件目录,在当前目录中添加所需的文件到程序中]
//弹出选择目录的对话框- (IBAction)onAddFolder:(id)sender{ NSOpenPanel *panel = [NSOpenPanel openPanel]; [panel setMessage:@"Please select a source folder."]; [panel setCanChooseDirectories:YES];原创 2015-01-05 20:01:35 · 1289 阅读 · 0 评论 -
[Cocoa]_[初级]_[使用NSOutlineView创建多根显示]
场景:主要应用于界面布局中可隐藏数据和展开显示数据。具体例子如下:1.编写代码OutlineViewData.h#import @interface OutlineViewData : NSObject{ NSString *name; NSString *number; //表格状态标识 BOOL isHasChild;原创 2015-09-28 19:38:22 · 3757 阅读 · 0 评论 -
[Cocoa]_[初级]_[使用类对象管理动态创建的控件,并获取控件存储的值]
场景:原创 2015-10-31 15:55:47 · 1225 阅读 · 0 评论 -
[Cocoa]_[初级]_[Cocoa设计模式总结]
单例模式优点:封装共享资源;提高唯一一个访问接口;控制实例化,阻止创建类的多个实例。缺点:由于单例不会被释放,需要在应用终止的时候,释放占用的资源。实例:+(MySelf*) myself{ static MySelf *singleton =nil; @synchronized(self) { if(singleton == nil) { singleton原创 2015-12-30 21:13:31 · 613 阅读 · 0 评论 -
[Cocoa]_[初级]_[文件拖放操作]
场景:支持所有类别的文件拖放(从外部直接拖文件到程序中)实例:DragDropView.h#import @protocol DragDropViewDelegate;@interface DragDropView : NSView//设置代理@property(assign) IBOutlet id delegate;@end@protocol DragDro原创 2015-11-22 17:43:05 · 2154 阅读 · 0 评论 -
[Cocoa]_[初级]_[获取图片文件的属性值:如图片大小、位深度、宽高、最后修改日期]
NSString *filePath = @"../work/png/11.png"; NSFileManager *fm =[NSFileManager defaultManager]; if ([fm fileExistsAtPath:filePath]) { NSString *filepathName =[filePath lastPathCompo原创 2014-12-09 20:15:22 · 1151 阅读 · 0 评论 -
[Cocoa]_[初级]_[画一个矩形框,并在里面填充数据]
原理:首先在一个NSView、NSButton或者NSTextField中画一个矩形框出来,然后设置一个坐标值,再画一段字符串数字出来,把两个的位置调整好就可以实现需要的效果-(void) drawRectangle:(NSRect) frame{ float pointx = 165; NSString *str =[NSString stringWithFormat:@"原创 2015-02-05 18:22:05 · 1172 阅读 · 0 评论 -
[Cocoa]_[初级]_[Removing All Custom Views or what you want to removed]
1.removing some Custom Views [viewmakeObjectsPerformSelector:@selector(removeFromSuperview)];[arrayImageView removeAllObjects];原创 2014-09-22 18:51:45 · 566 阅读 · 0 评论 -
[Cocoa]_[初级]_[自定义的界面上绘制图片]
创建一个NSView的子类. 然后根据需要创建自定义的view 来完成自定义画图和事件响应.原创 2014-09-16 18:23:04 · 1158 阅读 · 0 评论 -
[Cocoa]_[初级]_[使用异步线程加载图片文件实现进度条的更新]
使用异步线程对进度条进行更新,原创 2014-10-21 18:46:18 · 1729 阅读 · 0 评论 -
[Cocoa]_[初级]_[用NSImage把大图制作成小图]
- (NSImage*) resizeImage:(NSImage*)sourceImage size:(NSSize)size{ NSAutoreleasePool *pool = [NSAutoreleasePool new]; NSRect targetFrame = NSMakeRect(0, 0, size.width, size.height); NSImag原创 2014-10-22 19:28:11 · 1172 阅读 · 0 评论 -
[Cocoa]_[初级]_[在一张图片上添加图片水印和文字水印]
float width = 400; float height = 400; NSImage *finalImage = [[NSImage alloc] initWithSize:NSMakeSize(width, height)]; // obtain images - your sources may vary NSImage *main原创 2014-11-10 11:02:02 · 1216 阅读 · 0 评论 -
[cocoa]_[初级]_[打开文件选择对话框和保存文件对话框]
打开文件选择对话框:打开保存文件对话框:原创 2014-10-10 20:15:12 · 2606 阅读 · 0 评论 -
[Cocoa]_[初级]_[Cocoa中对GIF动画分解成一帧帧的图片]
-(void) sepatateGifAnimation:() source{ NSString *filePath = @"/Users/mac-d1/work/Untitled13.gif"; NSImage *gifImage = [[NSImage alloc] initWithContentsOfFile:filePath]; NSArray * re原创 2014-11-19 11:22:49 · 1003 阅读 · 1 评论 -
[Cocoa]_[初级]_[使用NSAffineTransfrom 对NSImage图片进行旋转]
-(NSImage *)roateSourceImage:(NSImage *) sourceImage ByDegrees:(CGFloat)degrees{ NSAutoreleasePool *pool = [NSAutoreleasePool new]; NSRect imageBounds = {NSZeroPoint, [sourceImage size]}原创 2014-11-20 17:28:14 · 2339 阅读 · 1 评论 -
[Cocoa]_[初级]_[几种在Cocoa应用程序经常用到的几种信息提示框]
1.Yes和No类型的提示框int choice = NSRunAlertPanel(@"Confirm",@"Are you sure you want to delete all form?",@"No",@"Yes",nil);如果选择Yes choice = 0,选择No choice = 1 提示框关闭2. Ok类型提示框 NSBeginAlertSheet(原创 2014-11-26 20:37:06 · 1112 阅读 · 0 评论 -
[Cocoa]_[初级]_[NSString 、NSImage、NSData、std::string之间的转换]
NSString *filePath =@"/Users/mac-d1/work/Untitled.gif"; NSImage *gifImage = [[NSImage alloc] initWithContentsOfFile:filePath]; NSData *imageData = [gifImage TIFFRepresentation];原创 2014-10-21 20:06:32 · 2025 阅读 · 0 评论 -
[Cocoa]_[初级]_[在Cocoa中使用图形上下文设备剪切图片]
如下是函数借口CutImageFilter.h#import "BaseFilter.h"@interface CutImageFilter : NSObject{ NSRect cutImageRect;}@property(readwrite,assign) NSRect cutImageRect;-(NSImage *) doFilter:(NSImage*) i原创 2014-12-02 20:33:13 · 890 阅读 · 0 评论 -
[Cocoa]_[初级]_[根据所要显示的内容,动态创建NSTextField(Label),并在一个NSView内显示]
其中IBOutlet NSView *showContentsView;要进行绑定连接。-(void)doShowContactsContents:(id) data{ MqjTableData *td = data; NSMutableArray *deleteArray =[[NSMutableArray alloc] initWithArray:[showC原创 2015-01-28 09:48:38 · 2243 阅读 · 0 评论 -
[Cocoa]_[初级]_[Cocoa入门级界面开发之界面初级程序编辑的步骤和实现方法]
1.打开Xcode,创建一个项目,选择Cocoa Application ,点击 next,Class:命名TestCocoaApplication.默认选择,直到完成为止。2.左边的下拉框中选择MainMenu.lib文件,点击,在objects下拉框中选中window就会弹出一个窗口,并可以进行编辑。在右下角单击popupbutton选择“Object Libr原创 2014-12-11 11:07:57 · 2416 阅读 · 0 评论 -
[Cocoa]_[初级]_[鼠标移动到NSButton上面和移开NSButton时,控件背景颜色的变化]
当鼠标移动到某一个控件上面,控件会产生相应的变化,鼠标移开控件之后,控件也会产生相应的变化。这就是我们在程序中经常用到的鼠标和控件的一些特殊应用。说得简单一点就是对控件进行鼠标事件的捕获。具体看下面自定义的控件:头文件MqjButton.h#import @interface MqjNSButton : NSButton{ NSImage *image; }原创 2015-02-05 18:10:14 · 1982 阅读 · 0 评论 -
[Cocoa]_[初级]_[NSNotificationCenter 消息中心在程序中的具体应用]
1.NSNotificationCenter是整个消息操作的首脑 。它允许你注册观察者对象,发布通知到通告板上,和注销观察对象。2.消息中心机制流程图:主要是对观察者对象进行注册,注册之后NSNotificationCenter对所有观察者对象进行统一管理,如果观察者要执行方法,发送一条消息给消息中心,消息中心监听到这个消息之后,就会把你感兴趣的方法显示到通告板上,以方便用户预览。原创 2015-12-23 19:28:49 · 863 阅读 · 0 评论