Låta två rullister följas åt

Tråden skapades och har fått 11 svar. Det senaste inlägget skrevs .
1

Jag har ett Cocoa-program jag arbetar på. I det har jag två ytor med varsin rullist. Går det då att göra så att båda dessa följs åt? Dvs om jag drar i en rullist ska den andra följa med och tvärtom.

Finns det förresten något svenskt ord för scroll och scrollbar? Känns som om rubriken blev väldigt svengelsk.

Rullist heter de väl?

Tack, så heter det ja.

Apple har tydligen en artikel som ser ut att ge en lösning. Det enda jag ser som kan bli ett problem är att den ena är en NSScrollView, men den andra är en NSBrowser.

Man kan göra som i artikeln jag nämnde. Jag lät den NSScrollView jag har ärva från SynchroScrollView i artikeln och då gick det fint till viss del. Drar jag i rullisten på min NSBrowser så följer rullisten i NSScrollViewen med, men inte om man gör tvärtom.

För att det ska gå måste jag även låta den NSScrollView som min NSBrowser sitter i istället bli en SynchroScrollView. Men hur gör man det?

Senast redigerat 2007-08-18 00:09
  • Medlem
  • Simrishamn
  • 2007-08-16 13:47

Kan du inte bara markera browserns NSScrollView i Interface Builder, dra fram "Custom Class" i inspectorn och ändra till SynchroSrollView...?

Nej, då jag markerar browsern är det bara NSBrowser som kommer upp i inspektören. Jag lyckas inte markera dess NSScrollView.

  • Medlem
  • Simrishamn
  • 2007-08-16 20:49

Hmm. Tänk på att det är skillnad mellan NSBrowser och andra vyer som t.ex. NSTableView och NSOutlineView. I de två senare inryms hela vyn i en NSScrollView, men i NSBrowser har varje kolumn en egen scrollningsmekanism. Huruvida den fungerar genom NSScrollView eller ej vet jag inte, men oavsett vilket så verkar det knivigt att arbeta på separata kolumner.

Det verkar inte finnas något smidigt sätt att få tag på de vertikala scrollviewsen i NSBrowser, tyvärr tror jag det enda som går att göra isf är att subklassa...

Om det hade varit den horizontella scrollviewen hade det varit lättare

Vad bra. För det är den horizontella jag är ute efter.

Bifogar en bild på hur jag tänkt mig det. Det fungerar så långt att jag kan dra i den nedre rullisten och den övre följer efter, men inte tvärtom.

Jaha, då blev det betydligt enklare

Ta en titt på scrollViaScroller: och på delegate-metoderna browserDidScroll: och browserWillScroll:

  • Medlem
  • Simrishamn
  • 2007-08-18 19:24

Men baaahrg. Jag var ju helt inriktad på att det var de vertikala du ville åt

1
Bevaka tråden