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”),
Leave a reply to What I’m doing 07/12/2011 « Shingonoide's Blog Cancel reply