Главная » iPhone » Пример iPhone: развлечение со значками

0

Данный пример иллюстрирует вывод на экран изображений и узоров в рамках метода drawRect класса вида. Мы создаем пустой класс вида, а затем

подменяем drawRect для включения процедур прорисовки, отображая в основном окне значки некоторых приложений.

Чтобы скомпилировать данный пример из командной строки, воспользуйтесь пакетом инструментов следующим образом:

$ arm-apple-darwin9-gcc -о MyExample MyExample.m -lobjc %

-framework CoreFoundation -framework Foundation -framework UIKit

Листинги 7.11 и 7.12 содержат соответствующий код.

#import <CoreFoundation/CoreFoundation.h> #import <UIKit/UIKit.h>

@interface MainView : UlView {

}

-   (void)drawRect:(CGRect)rect; @end

(^interface MyApp : UIApplication {

UlWindow *window; MainView *mainView;

}

-   (void)applicationDidFinishLaunching:(NSNotification *)aNotification; @end

#import <Foundation/Foundation.h> #import <CoreFoundation/CoreFoundation.h> #import "MyExample.h"

int main(int argc, char **argv) {

return UIApplicationMain(argc, argv, @"MyApp", @"MyApp");

@implementation MyApp

-    (void)applicationDidFinishLaunching:(NSNotification *)aNotification { window = [ [ UlWindow alloc ] initWithContentRect:

[ UIHardware fullScreenApplicationContentRect ]

];

CGRect rect = [ UIHardware fullScreenApplicationContentRect ]; rect.origin.x = rect.origin.у = O.Of;

mainView = [ [ MainView alloc ] initWithFrame: rect ]; [ window setContentView: mainView ]; [ window orderFront:.self ]; [ window makeKey: self ]; [ window _setHidden: NO ];

}

@end

@implementation MainView

-    (void)drawRect:(CGRect)rect { CGRect drawRect;

CGSize size;

Ullmage *pattern = [ Ullmage imageAtPath:

@"/Applications/MobilePhone.app/icon.png" ]; [ pattern drawAsPatternlnRect: rect ];

Ullmage *image = [ Ullmage imageAtPath:

@"/Applications/MobileSafari.app/icon.png" ] ; size = ( image size ];

drawRect.origin.x = (320 – (size.width)) / 2; drawRect.origin.у = (480 – (size.height)) / 2; drawRect.size.width = size.width; drawRect.size.height = size.height; [ image drawlPartlmagelnRect: drawRect j;

}

@end

Источник: Здзиарски Дж. iPhone. Разработка приложений с открытым кодом: Пер„с англ. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2009. — 368 е.: ил.

По теме:

  • Комментарии