Добавьте горизонтальные и вертикальные полосы прокрутки в приложение NSView для MacOS с помощью XCode Objective- C - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в разработке автономных приложений для macOS, и я работаю над исправлением проблемы в нашем существующем приложении. У меня возникла проблема, когда элементы управления внутри NSView обрезаются внизу и справа от NSView .. Я использую Xcode 11.3 в macOS Mojave 10.14

Я хотел бы реализовать полосы прокрутки по горизонтали и вертикали, чтобы NSView, чтобы я мог видеть элементы управления, которые обрезаются в нижней и правой части NSView. Не могли бы вы подсказать, как реализовать прокрутку для MacOS NSView?

1 Ответ

0 голосов
/ 06 августа 2020

NSScrollView предоставляет полосы прокрутки.

Элементы управления внутри NSView обрезаны, например:

enter image description here

Select the view in IB. Choose menu Editor -> Embed In -> Scroll View

If scrollbars are visible (Setting in System Prefs):

enter image description here

If scrollbars are invisible:

enter image description here

Resize the NSScrollView if needed and add constraints between the scroll view and its superview or sibling views.

Enlarge the Custom View and constrain the size of the Custom View by adding size constraints or constraints between the Custom View and its subviews.

Constrain the location of the Custom View to the topleft of its superview to remove the layout errors.

введите описание изображения здесь

Сборка, запуск. Вид прокручивается вниз. Если вы хотите начать прокрутку вверх, создайте подкласс NSView, замените isFlipped и верните true. Установите класс Custom View в IB для этого класса.

override var isFlipped: Bool {
    get {
        return true
    }
}
...