Blog Archives
Show Dialog Message Box in Objective-C Cocoa
Posted by Ronnie Diaz
There are a few ways to achieve this in Objective-C/Cocoa, and I found NSAlert to be the simplest base class for this purpose.
See example below of a small Utility class with this functionality.
Util.h
#import <Cocoa/Cocoa.h> @interface Util: NSObject { } +(void)MessageBox:(char*) header:(char*) message: (unsigned long) message_type; +(void)MessageBox:(NSString *) header:(NSString *) message; @end
Util.m
#import "Util.h" @implementation Util +(void)MessageBox:(NSString *) header:(NSString *) message { CFOptionFlags result; CFUserNotificationDisplayAlert( 0, //timeout kCFUserNotificationNoteAlertLevel, //icon NULL, //icon url NULL, NULL, header, message, NULL, //button options default to just "ok" CFSTR("Cancel"), NULL, &result //response ); if (result==kCFUserNotificationDefaultResponse) return NSAlertDefaultReturn; else return NSAlertErrorReturn; } +(void)MessageBox:(char*) header:(char*) message: (unsigned long) message_type { CFStringRef header_ref = CFStringCreateWithCString(NULL,header,strlen(header)); CFStringRef message_ref = CFStringCreateWithCString(NULL,message,strlen(message)); CFOptionFlags result; CFUserNotificationDisplayAlert( 0, kCFUserNotificationNoteAlertLevel, NULL, NULL, NULL, header_ref, message_ref, NULL, CFSTR("Cancel"), NULL, &result ); CFRelease(header_ref); CFRelease(message_ref); if (result==kCFUserNotificationDefaultResponse) return NSAlertDefaultReturn; else return NSAlertErrorReturn; } @end
References
iphonedevsdk.com, http://www.iphonedevsdk.com/forum/iphone-sdk-development/8478-simple-message-box-popup.html
blogspot.com, Jorge Arimany, http://jorgearimany.blogspot.com/2010/05/messagebox-from-windows-to-mac.html
Google Codesearch (“kCFUserNotification”),
Posted in Programming & Development
Tags: cocoa, dialog, dialog box, mac os x, mac osx, message box, messagebox, modal, modal dialog, obj c, objc, objective c, osx