Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Window-based Application w XCode 4.2 i wyzszych


  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 macsurf

macsurf
  • 104 postów
  • SkądKołobrzeg

Napisano 12 maja 2014 - 20:09

Niestety w XCode 4.2 i nowszych nie ma szablonu Window-based Application. W związku z tym skorzystałem z Empty Application. I tak mam 2 klasy: Appdelegate i tam korzystam z 2 prokołów + moje metody zgodne z protokołem i utworzona ręcznie myView ( jako podklasa UIView - z UIKit.h )
Tylko jaką wybrać kolejną klasę z automatycznym utworzeniem pliku xib, próbowałem z ViewController ale szablon tej klasy widzę ma inne metody inicjalizacyjne. Jak to ustrojstwo ugryźć ?

Nagłówek dla appDelegate.h:

@interface AppDelegate : NSObject
<UIApplicationDelegate, animationNotification> {
    
    UIWindow *window;
    myView *view;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

-(void)animate;

@end

i dla myView.h

#import <UIKit/UIKit.h>

/* ZDEFINIOWANIE PROTOKOLU */

@protocol animationNotification

-(void)animationHasFinishedWithView:(UIView *)animatedView;

@optional

-(void)animationStartedWithView:(UIView *)animatedView;

@end


/* DEKLARACJE ZMIENNYCH I FUNKCJI SKLADOWYCH KLASY */


@interface myView : UIView {
    
    id <animationNotification> delegate;
    UIView *boxView;
    
}

@property (nonatomic, assign) id delegate;

-(void) animate;


@end



#2 macsurf

macsurf
  • 104 postów
  • SkądKołobrzeg

Napisano 13 maja 2014 - 17:26

Dobra problem rozwiązałem. A więc tak w moim przypadku tak jak wcześniej napisałem miałem 2 klasy jedna standardowa, która jest tworzona w szablonie "Empty Application" czyli AppDelegate a druga to moja klasa jako rozszerzony widok - klasa dziedziczy po UIView czyli mój widok: myView. Teraz trzeba dodać interfejs File -> New File -> Window. Mamy plik Window.xib i teraz należy wszystko powiązać. Klikamy na Window.xib dodajemy nowy obiekt i podłączamy pod niego klasę AppDelegate. ( Identify Inspector -> Custom Class: AppDelegate ) File`s Owner powinien być ustawiony w Custom Class jako UIApplication i należy utworzyć powiązanie między wcześniej utworzonym w interfejsie obiektem AppDelegate a File`s Ownerem tak więc w jego zakładce Outlets powinno być: delegate-AppDelegate Teraz obiekt AppDelegate należy powiązać z widokiem. W Referencing Outlets powinno być window-App Delegate. Jeśli nasza zmienna typu UIWindow nazywa się window ;) Oczywiście w klasie AppDelegate musimy mieć w nagłówku zadeklarowany odpowiedni obiekt: IBOutlet UIWindow *window aby takowe powiązanie utworzyć, ale to chyba jest oczywiste. Na koniec klikamy w opcje projektu -> targets -> "nasz projekt" i tutaj w zakładce iPhone / iPod Deployed Info ustawiamy w Main Interface nasz widok czyli w naszym przypadku odwołanie do pliku Window.xib ( wpisujemy samo Window bez końcówki xib ). I to tyle, jak ktoś nie chce się z tym bawić to może ściągnąć gotowy szablon - to dla tych leniwych ;)




Użytkownicy przeglądający ten temat: 3

0 użytkowników, 3 gości, 0 anonimowych