1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

NSSplitView Grössenänderung

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Poljpocket, 09.02.09.

  1. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Hallo,

    ich hab mich durch die ganze Dokumentation des NSSplitViews durchgeschlagen, jedoch nicht auf alle meine Unklarheiten Antworten gefunden. Mir ist schnell klar geworden, dass es für meine Bedürfnisse sicher eine delegate braucht, die das View steuert (sozusagen :D).

    Ich möchte ein vertical-Splitview mit einem Divider, der nur in einem gewissen Bereich (min- und maxvalue) bewegt werden kann. Dies muss ich wohl mit einer delegate-Methode steuern, denn im IB gibts keine Parameter, die man entsprechend setzen kann. Weiter hab ich im IB die autoresize-Values so gesetzt, dass sich das SplitView ständig an der Grösse des Fensters anpasst. Dabei ist mir aufgefallen, dass beide Subviews gleichmässig vergrössert werden, wenn man die Breite des Fensters ändert. Ich möchte aber, dass sich nur das rechte Subview mit dem Fenster vergrössert wird und das linke gleich breit bleibt. Das Ganze soll iTunes-like agieren (sieht im Aufbau auch iTunes-like aus!).

    Ich weiss nicht, vielleicht ist es am einfachsten, die Sache an einem Beispiel zu zeigen. Hat jemand schon mal sowas gemacht und könnte mir den source der delegate schicken? wäre sehr nett!

    Danke und freundliche Grüsse, ppocket
     
  2. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Erst einmal ist es lobenswert, dass du an ein Delegate denkst.

    Ich habe jetzt nicht nachgeprüft, ob das wirklich nicht im IB geht. Hast du auch mal die Min-/Max-Size der Subviews gesetzt? Vielleicht nimmt er darauf Rücksicht. (Daumenregel: Splitviews sind strunzedumm.)

    Für die Vergrößerung des Views musst du splitview:resizeSubviewsWithOldSize: implementieren.

    Für das Dragging der Divider geht es über
    splitView:constrainMaxCoordinate:oops:fSubviewAt:
    und
    splitView:constrainMinCoordinate:oops:fSubviewAt:
    oder
    splitView:constrainSplitPosition:oops:fSubviewAt:

    Es kann sogar sein, dass die letzten reichen. Daher würde ich damit anfangen.
     
  3. Jamsven

    Jamsven London Pepping

    Dabei seit:
    21.11.07
    Beiträge:
    2.046

Diese Seite empfehlen