Nicht veränderbares Window Swift

7

Ich habe eine NSViewController namens Hardness , und ich muss den Benutzer nicht die Größe ändern lassen. Natürlich kann ich die Größe jedes Mal ändern, wenn die Benutzer es versuchen, aber gibt es keine Möglichkeit, den Benutzer das Fenster auf den ganzen Bildschirm zu öffnen oder das Fenster zu dehnen?

    
Nikitin Roman 30.03.2015, 05:15
quelle

5 Antworten

8

bearbeiten / aktualisieren: Xcode 8.2.1 • Swift 3.0.2

NSWindow verfügt über eine Eigenschaft namens styleMask, mit der Sie steuern können, welche Arten von Steuerelement für den Benutzer verfügbar sind. Wenn Sie dem Benutzer nicht erlauben, die Größe des Fensters zu ändern, müssen Sie die Stilmaske .resizable mit der Mutationsmethode remove(member: NSWindowStyleMask) entfernen. Um es wieder zu aktivieren, müssen Sie die Mutationsmethode insert(member: NSWindowStyleMask) verwenden. Beachten Sie, dass damit auch der Vollbildmodus für dieses Fenster deaktiviert wird:

Entfernen zum Deaktivieren:

%Vor%

Einfügen zum Aktivieren

%Vor%

Beispiel

%Vor%

Beispielprojekt

    
Leo Dabus 30.03.2015, 06:00
quelle
5

Der richtige Ansatz wäre, bitweise Operatoren .

Deaktivieren resize:

%Vor%

Aktivieren resize:

%Vor%     
Vin Gazoil 07.04.2016 15:10
quelle
5

Ich habe das gleiche Problem mit dem nicht veränderbaren Fenster um eine Zeile in

gelöst %Vor%     
Dawy 18.09.2016 11:17
quelle
2

Diese Antwort kann zusätzlich zur aktuellen hilfreich sein. Es gibt auch eine einfache Möglichkeit, dies zu erreichen, indem Sie setHidden mit NSWindowZoomButton

verwenden

Richten Sie die Funktionalität als Unterklasse von NSWindow ein:

Ziel-C

%Vor%

Schnell

%Vor%

Verbinde die benutzerdefinierte Klasse mit deinem Fenster in IB und die Schaltfläche Zoom sollte jetzt versteckt sein!

    
l'L'l 31.10.2015 23:10
quelle
1

Eine etwas elegantere Lösung für Swift 3, damit | Operator kann verwendet werden:

%Vor%     
jbaraga 17.09.2016 22:33
quelle