ui API 索引
按类族、工具函数和常量族快速查 ui 公开名称。
按类族、工具函数和常量族快速查 ui 公开名称。
#预期效果
示例会展示 ui.View、ui.Button 和 present() 的最小组合;索引用来快速定位类、函数、常量和常见方法族。
#最小入口
已复制
import ui
def tapped(sender):
sender.title = "Tapped"
view = ui.View(frame=(0, 0, 320, 220))
view.name = "ui demo"
button = ui.Button(frame=(40, 88, 240, 44), title="Tap")
button.action = tapped
view.add_subview(button)
view.present("sheet")
#先看哪一类
| 你要做什么 | 先看 |
|---|---|
| 打开一个简单命令式页面 | View、Button、present |
| 做标签、输入、开关、滑块 | Label、TextField、TextView、Switch、Slider |
| 做表格或滚动内容 | TableView、ListDataSource、ScrollView |
| 做手势交互 | TapGestureRecognizer、PanGestureRecognizer、LongPressGestureRecognizer |
| 做离屏绘图或自绘视图 | ImageContext、CanvasView、Path、draw_string |
| 处理颜色、字体和尺寸 | Color、Font、Rect、parse_color、measure_string |
#索引
| 分组 | 名称 |
|---|---|
| 函数 | parse_color, parse_font, begin_image_context, end_image_context, get_image_from_current_context, set_color, fill_rect, stroke_rect, draw_string, get_screen_size, get_window_size, get_keyboard_frame, get_ui_style, measure_string, delay, cancel_delays, in_background, animate, convert_point, convert_rect, set_blend_mode, set_shadow, load_view, load_view_str, close_all, dump_view |
| 类 | Color, Point, Size, Rect, Transform, Touch, GestureSender, GestureRecognizer, TapGestureRecognizer, PanGestureRecognizer, PinchGestureRecognizer, SwipeGestureRecognizer, LongPressGestureRecognizer, Font, View, ButtonItem, Button, Label, TextField, TextView, ImageView, WebView, ActivityIndicator, TableView, ListDataSource, TableViewCell, Switch, Slider, SegmentedControl, DatePicker, ProgressView, Stepper, NavigationView, ScrollView, Path, GState, ImageContext, Image, CanvasView, autoreleasepool |
| 方法 | Color.rgb, Color.hex, Color.named, Point.as_tuple, Rect.min_x, Rect.min_y, Rect.max_x, Rect.max_y, Rect.origin, Rect.size, Rect.center, Rect.as_tuple, Rect.contains_point, Rect.contains_rect, Rect.inset, Rect.intersection, Rect.intersects, Rect.translate, Rect.union, Transform.rotation, Transform.scale, Transform.translation, Transform.concat, Transform.invert, GestureRecognizer.action, GestureRecognizer.action, TapGestureRecognizer.number_of_taps_required, TapGestureRecognizer.number_of_taps_required, TapGestureRecognizer.number_of_touches_required, TapGestureRecognizer.number_of_touches_required, SwipeGestureRecognizer.direction, SwipeGestureRecognizer.direction, LongPressGestureRecognizer.minimum_press_duration, LongPressGestureRecognizer.minimum_press_duration, Font.system_font_of_size, Font.bold_system_font_of_size, Font.italic_system_font_of_size, View.frame, View.frame, View.x, View.x, View.y, View.y, View.width, View.width, View.height, View.height, View.background_color, View.background_color, View.alpha, View.alpha, View.hidden, View.hidden, View.corner_radius, View.corner_radius, View.border_width, View.border_width, View.title, View.title, View.content_mode, View.content_mode, View.touch_enabled, View.touch_enabled, View.multitouch_enabled, View.multitouch_enabled, View.transform, View.transform, View.bg_color, View.bg_color, View.tint_color, View.tint_color, View.left_button_items, View.left_button_items, View.right_button_items, View.right_button_items, View.border_color, View.border_color, View.flex, View.flex, View.name, ... (365 total) |
| 常量 | ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT, ALIGN_JUSTIFIED, ALIGN_NATURAL, LB_WORD_WRAP, LB_CHAR_WRAP, LB_CLIP, LB_TRUNCATE_HEAD, LB_TRUNCATE_TAIL, LB_TRUNCATE_MIDDLE, KEYBOARD_DEFAULT, KEYBOARD_ASCII, KEYBOARD_NUMBERS, KEYBOARD_URL, KEYBOARD_NUMBER_PAD, KEYBOARD_PHONE_PAD, KEYBOARD_NAME_PHONE_PAD, KEYBOARD_EMAIL, KEYBOARD_DECIMAL_PAD, KEYBOARD_TWITTER, KEYBOARD_WEB_SEARCH, BLEND_NORMAL, BLEND_MULTIPLY, BLEND_SCREEN, BLEND_OVERLAY, BLEND_DARKEN, BLEND_LIGHTEN, BLEND_COLOR_DODGE, BLEND_COLOR_BURN, BLEND_SOFT_LIGHT, BLEND_HARD_LIGHT, BLEND_DIFFERENCE, BLEND_EXCLUSION, BLEND_HUE, BLEND_SATURATION, BLEND_COLOR, BLEND_LUMINOSITY, BLEND_CLEAR, BLEND_COPY, BLEND_SOURCE_IN, BLEND_SOURCE_OUT, BLEND_SOURCE_ATOP, BLEND_DESTINATION_OVER, BLEND_DESTINATION_IN, BLEND_DESTINATION_OUT, BLEND_DESTINATION_ATOP, BLEND_XOR, BLEND_PLUS_DARKER, BLEND_PLUS_LIGHTER, LINE_CAP_BUTT, LINE_CAP_ROUND, LINE_CAP_SQUARE, LINE_JOIN_MITER, LINE_JOIN_ROUND, LINE_JOIN_BEVEL, RENDERING_MODE_AUTOMATIC, RENDERING_MODE_ORIGINAL, RENDERING_MODE_TEMPLATE, CONTENT_SCALE_TO_FILL, CONTENT_SCALE_ASPECT_FIT, CONTENT_SCALE_ASPECT_FILL, CONTENT_REDRAW, CONTENT_CENTER, CONTENT_TOP, CONTENT_BOTTOM, CONTENT_LEFT, CONTENT_RIGHT, CONTENT_TOP_LEFT, CONTENT_TOP_RIGHT, CONTENT_BOTTOM_LEFT, CONTENT_BOTTOM_RIGHT, DATE_PICKER_MODE_TIME, DATE_PICKER_MODE_DATE, DATE_PICKER_MODE_DATE_AND_TIME, DATE_PICKER_MODE_COUNTDOWN, ACTIVITY_INDICATOR_STYLE_GRAY, ACTIVITY_INDICATOR_STYLE_WHITE, ACTIVITY_INDICATOR_STYLE_WHITE_LARGE |
#失败路径
| 情况 | 应该怎么处理 |
|---|---|
| 页面空白 | 确认已创建根 ui.View,设置了非零 frame,并调用 present(...)。 |
| 点击无反应 | 回调要赋函数对象,例如 button.action = tapped,不要写成 tapped()。 |
| 布局错位 | 检查 frame、flex 和父视图尺寸;复杂响应式页面优先改用 appui。 |
| 输入或列表状态难维护 | 把新页面迁到 appui.State、Form、List 和 NavigationStack。 |