setFrame ha creato un NSView che è 15 pixel più piccolo in entrambe le dimensioni del previsto

StackOverflow https://stackoverflow.com/questions/841551

  •  20-08-2019
  •  | 
  •  

Domanda

Ho un problema enigmatico. Ho un puntatore a un NSView alla vaniglia che è stato inizializzato in un pennino. Ho inviato messaggi a NSView con:

[myNSView setFrame:NSMakeRect(0,0,816,1056)];

ma quando passo attraverso il debugger, myNSView ha una cornice di {{0,0}, {801, 1041}}. Le dimensioni del rettangolo sono 15 in meno di quanto ho specificato! Questo succede costantemente. Se specifico due [setFrames] di fila, tutto funziona, ma ovviamente questa non è la risposta.

Perché setFrame fallisce?

È stato utile?

Soluzione

15px è esattamente la dimensione di un NSScroller su NSRegularControlSize.

Suppongo che tu abbia il tuo NSScrollView configurato per nascondere automaticamente gli scroller.

Prova a disattivare gli scroller orizzontali e verticali di scrollView nel NIB, se questo risolve il problema, saprai dove cercare da lì. & nbsp; È qualcosa correlato al clipView di scrollView che ridimensiona automaticamente documentView. Il clipView stesso viene ridimensionato automaticamente quando compaiono gli scroller; subito dopo aver impostato documentView su frameSize (l'impostazione 100% immagino) che richiede gli scroller.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top