Zamknięty Temat
Pokaż wyniki od 1 do 1 z 1
  1. Avatar metal_man
    Dołączył
    Nov 2007
    Skąd
    Chorzów
    Postów
    406

    #1

    Wlasnie pisze maly program i chce dodac do niego okno z preferencjami. A wiec robie jak zawsze postepowalem, tzn. tworze kolejnego xib'a i tam wszystkie kontrolki, etc. Do tej pory wszystko dzialalo dobrze. Teraz jednak moge wyswietlic okno tylko raz. Zaden blad nie wyskakuje. Jednak jak nacisne przycisk Opcje to okno sie pokaze. Jak nacisne przycisk "zamknij okno" to okno sie zamknie ale juz drugi raz nie jestem w stanie wywolac okna. Ponizej kod jak zawsze postepowalem:

    Kod:
    //W AppController.h
    @class PreferenceController;
    
    @interface AppController : NSObject {
    	PreferenceController *preferenceController;
    }
    @end
    Kod:
    //W AppController.m
    #import "PreferenceController.h"
    
    (...)
    
    - (IBAction)showPreferencePanel:(id)sender
    {
    	// Is preferenceController nil?
    	if (!preferenceController) {
    		preferenceController = [[PreferenceController alloc] init];
    	}
    	NSLog(@"-> %@", preferenceController);
    	[preferenceController showWindow:self];
    }
    Teraz klasa PreferenceController obslugujaca okno

    Kod:
    #import 
    
    
    @interface PreferenceController : NSWindowController {
    }
    
    @end
    Kod:
    #import "PreferenceController.h"
    
    
    @implementation PreferenceController
    
    - (id)init
    {
    	if (![super initWithWindowNibName:@"Preferences"]) 
    		return nil;
    		
    	return self;
    }
    
    - (void)dealloc
    {
        [super dealloc];
    }
    
    - (void)windowDidLoad
    {
    	NSLog(@"Preferences xib zaladowany");
    }
    
    @end
    Tak jak pisalem, wczesniej takie rozwiazanie dzialalo sprawnie. Nie mialem zadbych problemow z wyswietlaniem okien dialogowych. Teraz po zalaczeniu programu moge wyswietlic okno Opcji tylko raz. Ktos ma pomysl jak sie z tym uporac? Ewentualnie inne rozwiazanie?

    EDIT:
    Roziazanie jest jedno i banalnie proste - uwazac co z czym laczymy w IB Do zamkniecia :P
    Ostatnio edytowane przez metal_man ; 08.04.2011 o 18:44
    Komputer:  MacBook White 13,3" 2,26GHz (Lion 10.7)
    Telefon:  iPhone 3GS (16GB) ;  iPhone 3G (8GB)
    Odtwarzacz:  iPod@iPhone
    Tablet:  iPad2


Zamknięty Temat