J'ai une vue personnalisée contenant NSImageView (myImageView) et NSButton (myButton). Lorsque l'utilisateur redimensionne la fenêtre (en utilisant le clic de la souris et faites glisser dans le coin inférieur droit de la fenêtre), myImageView et myButton est autoresized. Mais la vue personnalisée est différente de l'original. Comment le réparer? Aidez-moi, s'il vous plaît.Comment autoresize le bouton
Voici mon code:
Dans appDelegate.m
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
[window makeKeyWindow];
[window setFrameTopLeftPoint:NSMakePoint(0, 576)];
[window setFrame:NSMakeRect(0, 0, 768, 576) display:YES];
[window setBackgroundColor:[NSColor clearColor]];
[window center];
TestView *testView = [[TestView alloc]initWithFrame:NSMakeRect(0, 0, 768, 576)];
[testView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
[testView setAutoresizesSubviews:YES];
[window setContentView:testView];}
Dans TestView.m
- (void)drawRect:(NSRect)dirtyRect {
// Drawing code here.
NSImageView *subView = [[NSImageView alloc]initWithFrame:NSMakeRect(0, 0, 768, 576)];
[subView setImage:[NSImage imageNamed:@"Copenhagen.jpg"]];
[subView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
[subView setImageScaling:NSImageScaleProportionallyDown];
[self addSubview:subView];
[subView release];
NSButton *subButton = [[NSButton alloc]initWithFrame:NSMakeRect(70, 100, 100, 40)];
[subButton setTitle:@"Click"];
[subButton setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable|NSViewMaxXMargin|NSViewMaxYMargin|NSViewMinXMargin|NSViewMinYMargin];
[self addSubview:subButton];
[subButton release];
[window setContentView:temp];}
Merci beaucoup.
Avez-vous défini un masque d'autorésisation pour votre vue personnalisée? Vous pouvez le faire soit dans Interface Builder, soit par programmation via '- [NSView setAutoresizingMask:]'. –
J'ai déjà défini un masque d'autoresizing pour mes vues personnalisées, myImageView et myButton, mais myButton ne ressemble pas à l'original lors de l'autoréglage – user718408
Je ne suis pas sûr de comprendre ce que vous voulez dire. Peut-être qu'une capture d'écran faciliterait la compréhension de votre question. –