aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2/doc/src/qtquickcontrols2-ios.qdoc
blob: 219ad05ea1482ad4805358447b7ff0d43dd21800 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page qtquickcontrols2-iOS.html
    \title iOS Style

    The iOS Style is a native-looking style for iOS based on image assets.
    \l{detailed-desc-iOS}{More...}

    \styleimport {QtQuick.Controls.iOS} {Qt 6.4}

    \section1 Attached Properties

    \list
        \li \l {ios-theme-attached-prop}{\b theme} : enumeration
    \endlist

    \section1 Detailed Description
    \target detailed-desc-iOS

    The iOS style is designed to look and feel as similar as possible to the native controls in UIKit.
    Most of the controls make use of \l
    {https://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch}{9-patch
    images} to draw their components, in order to accommodate controls of varying sizes.
    For controls that do not have a native counterpart in UIKit, the iOS style
    provides a custom look based on colors and styles following \l
    {https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/}
    {iOS' Human Interface Guidelines }.
    The iOS style is not a native iOS style, and as such, can run on platforms other than iOS.
    However, for the time being, it is made available only for applications running on macOS
    and iOS and should look the same on both platforms, besides minor differences that may occur
    due to differences in available system fonts and font rendering engines.

    \table
        \row
            \li \image qtquickcontrols2-ios-light.png
                \caption The iOS style in light theme
            \li \image qtquickcontrols2-ios-dark.png
                \caption The iOS style in dark theme
    \endtable

    To run an application with the iOS style, see
    \l {Using Styles in Qt Quick Controls}.

    \section2 Current state

    The iOS style is currently in Tech Preview and is under development. Some controls are not
    yet supported. Those controls are: \l BusyIndicator, \l DelayButton, \l Dialog, \l DialogButtonBox,
    \l SelectionRectangle and \l Tumbler. Those will fall back to use the \l {Basic Style}.

    \section2 Customization

    The iOS style allows customizing the \l {ios-theme-attached-prop}{theme} attribute.
    By default it follows the system's theme.

    \section3 Palette

    The iOS style supports palette customization via the \l {Item::}{palette}
    property and the \l {Palette Configuration}{qtquickcontrols2.conf} file.
    As with other styles, the exact \l[QML]{Palette}{palette roles}
    that the iOS style uses are style-dependent. However, as most of the visual
    appearance of controls (for example: backgrounds) is managed through image assets,
    only the roles that are typically used for text will have an effect.

    \section1 Attached Property Documentation

    \styleproperty {IOS.theme} {enumeration} {ios-theme-attached-prop}
    \target ios-theme-attached-prop
    This attached property holds whether the theme is light or dark.

    Available themes:
    \value IOS.Light Light theme (default)
    \value IOS.Dark Dark theme

    \endstyleproperty
*/