Как я могу отключить горизонтальную прокрутку для NSScrollView?
Сначала я попытался отключить полосу прокрутки, установив:
scrollView!.hasHorizontalScroller = false
и это успешно сработало, но я все еще мог прокручивать слева направо, используя трекпад. Есть ли способ убедиться, что горизонтальная прокрутка полностью отключена для объекта NSScrollView?
3 ответа
Решение
var scrollView = UIScrollView(frame:myFrame)
let scroll = CGSizeMake(myHeight, myFrame.size.width)
scrollView.contentSize = scroll
Исправляет ширину рамки, чтобы предотвратить горизонтальную прокрутку.
Даже при правильном размере содержимого я все еще мог использовать жесты двумя пальцами для горизонтальной прокрутки, прежде чем он снова встанет на место. Чтобы это исправить, вы можете установить эластичность:
scrollView.horizontalScrollElasticity = .None
В дополнение к ответу @mikepj мне также нужно было сделать следующее. Изменение этого , чтобы стать:
override func scrollWheel(with event: NSEvent) {
super.scrollWheel(with: event)
if event.deltaX != 0 {
super.nextResponder?.scrollWheel(with: event)
}
}
Это может быть потому, что я использовал NSRulerView.