¥
立即购买

iOS故事板场景描述生成器

16 浏览
1 试用
0 购买
Dec 5, 2025更新

本提示词专为iOS开发场景设计,能够根据用户提供的场景元素和目的,生成专业、准确的故事板场景描述。通过角色扮演iOS开发专家,结合技术写作风格,确保输出的描述内容结构清晰、逻辑严谨,包含界面布局、交互流程、功能实现等关键要素,为iOS应用开发提供完整的故事板设计方案,提升开发效率和设计质量。

场景概述

  • 一对一即时沟通场景,支持文本、图片、语音、位置、文件等多媒体消息的发送与展示,具备已读回执、发送进度与失败重发、历史消息加载、Typing Indicator(对方正在输入)、网络状态提示、空态与骨架屏等能力。
  • 目标是确保消息在发送、展示与状态同步上清晰可靠,并提升高频聊天用户的沟通效率与体验。

界面布局

  • 顶部导航栏(UINavigationBar)

    • 左侧:返回按钮(Chevron),点击返回上一层会话列表。
    • 标题区:圆形头像(40pt)+ 会话标题(昵称),下方/旁侧可显示在线状态或最后活跃时间;标题区可点击进入用户资料页。
    • 右侧:更多按钮(“…”),弹出操作菜单(清空聊天、置顶/取消置顶、免打扰、举报/屏蔽等)。
    • 网络状态提示:在导航栏下方以细条横幅(banner)显示连接中/离线/重连中状态;颜色与文案符合HIG(橙/红用于警示)。
  • 消息列表(建议使用 UICollectionView + 自适应单元格)

    • 纵向滚动,内容底部对齐显示最新消息;支持下拉触发历史消息加载。
    • 时间分组:按天/时段插入Time Separator Cell(居中灰字,12–13pt)。
    • 消息气泡:左(对方)、右(自己)两侧对齐,最大宽度约屏宽的 0.7–0.8,带圆角(16–20pt)。
      • 文本:支持富文本基础样式(链接/电话号码可点击)。
      • 图片:等比缩略图,较大图片使用最大边 240–280pt,支持点击全屏预览(转场动画)。
      • 语音:包含时长、播放/暂停、波形或进度指示;点击播放,支持听筒/扬声器切换。
      • 位置:地图快照缩略图(MKMapSnapshotter),显示位置名称;点击跳转地图详情。
      • 文件:图标(根据类型)、文件名、大小;点击用 Quick Look 预览或系统分享。
    • 头像与昵称:对方消息气泡左上展示头像(32–36pt),自己消息可不展示头像以降低冗余。
    • 已读回执与状态:气泡底部右下角小字/图标显示“已送达/已读/失败”,并在发送中显示微型进度指示(spinner或百分比)。
    • Typing Indicator:以独立 cell 显示“对方正在输入…”动态点跳动(3 dots),靠近底部。
    • 空态与骨架屏:首次进入或无消息时显示空态插画/文案;加载历史时显示 skeleton(灰块)或占位条。
    • 发送失败样式:气泡右下以红色感叹号图标,点击可重试。
  • 输入工具栏(位于底部,随键盘上移)

    • 左侧语音切换按钮:切换文本输入与按住录音模式。
    • 中部文本框:多行自适应高度(默认 44–50pt,最大 120–140pt),支持@、表情短码解析;输入时显示占位“输入消息…”
    • 右侧表情按钮:展开/收起表情面板。
    • 右侧加号:展开拓展面板(照片选择器、拍照、位置、文件等),按需分页。
    • 发送按钮:文本框有内容时激活;空内容时可禁用或转为语音/加号。
    • 上滑收起键盘:列表上滑时收起键盘并保持输入工具栏最小状态。
  • 表情面板

    • 高度约 260–300pt,分页显示常用表情;支持最近使用与分类切换;点击插入到文本框光标位置。
  • 图片选择器/相机

    • 图片:使用 PHPickerViewController(支持多选、原图/压缩策略)。
    • 相机:UIImagePickerController 或自定 AVCaptureSession;拍照后可编辑裁剪。
  • 语音录制悬浮窗

    • 按住录音时在列表上方显示半透明悬浮窗:波形、录音时长、上滑取消/左滑删除提示;松手即发送,滑动到取消区域取消并丢弃。
    • 显示录音权限提示与失败反馈。

交互流程

  • 进入会话

    • 展示骨架屏;并行拉取最近 N 条消息与会话信息(头像、昵称、在线状态)。
    • 建立实时连接(WebSocket),订阅对方输入状态与消息事件;网络横幅根据连接状态更新。
    • 滚动定位在底部;若有未读,插入“未读分割线”并显示“跳到底部”浮标。
  • 发送文本消息

    • 用户输入文本,点击发送;立即插入“发送中”气泡并滚动到底部。
    • 状态变更:发送中 → 已送达 → 已读;失败显示错误图标与“重试”操作。
    • 动画:插入使用淡入+轻微弹性,状态图标交叉淡化。
  • 发送图片/文件

    • 选择本地资源后创建占位气泡,显示上传进度(百分比或圆环);上传完成后更新缩略图/文件信息。
    • 上传失败保留气泡,提供重试与取消。
  • 发送语音

    • 按住按钮开始录音,悬浮窗显示时长与波形;松手发送,滑动至取消区域取消。
    • 语音消息可点击播放,列表复用需正确停止其他音轨;播放中气泡显示动态进度。
  • 发送位置

    • 选择当前位置或地图点位,生成快照并发送;点击消息打开地图详情或导航。
  • 历史消息加载

    • 下拉至顶部触发“加载更多”,显示顶部加载指示;成功插入更早时间段消息并保留当前阅读位置。
    • 若无更多数据,显示“已无更多”提示。
  • 长按消息

    • 弹出上下文菜单(复制、删除、转发);文本复制到剪贴板,删除带确认;转发进入选择会话流程。
    • 辅以轻微触感反馈(haptics)。
  • 键盘与滚动

    • 用户上滑列表自动收起键盘;新消息到达时若不在底部,显示“有新消息”提示,点击或滚动到底部以查看。
    • 输入框高度随文本增加平滑增长;与列表滚动区域同步。
  • Typing Indicator

    • 对方输入事件到达时插入动态点的提示行,若 5–10 秒无续事件自动消失。

技术要点

  • 架构与数据流

    • 建议 MVVM(或 Clean Architecture)+ Combine(SwiftUI)/ Delegation + NotificationCenter(UIKit)管理状态。
    • 消息模型包含:id、conversationId、senderId、timestamp、type、payload(文本/媒体URL/时长/坐标/文件信息)、status(sending/sent/delivered/read/failed)、isOutgoing。
    • 列表使用 UICollectionView + UICollectionViewDiffableDataSource,按时间与类型生成 section/item,确保插入/状态更新的高性能与一致性。
  • 布局实现

    • UIKit:自定义消息 cell(TextMessageCell、ImageMessageCell、VoiceMessageCell、LocationMessageCell、FileMessageCell、TypingIndicatorCell、TimeSeparatorCell),支持自适应高度与内容边距;输入栏使用 inputAccessoryView 或底部约束随键盘动画更新。
    • SwiftUI(可选):List/ScrollView + LazyVStack,消息项自适应,使用 safeAreaInset 为输入栏与表情面板留出空间,@StateObject 管理消息状态;使用 .redacted(reason: .placeholder) 显示骨架。
  • 媒体与系统能力

    • 图片选择:PHPickerViewController(照片库授权由系统管理,避免请求写权限);相机:UIImagePickerController 或 AVCaptureSession(需要 NSCameraUsageDescription)。
    • 语音录制:AVAudioSession(category: .playAndRecord) + AVAudioRecorder/AVAudioEngine,支持扬声器/听筒切换;需要 NSMicrophoneUsageDescription。
    • 位置:CoreLocation 请求精确/约略定位权限,地图快照使用 MKMapSnapshotter;需要 NSLocationWhenInUseUsageDescription。
    • 文件:UIDocumentPickerViewController 或系统分享;预览用 QLPreviewController。
  • 网络与实时

    • 使用 URLSessionWebSocketTask 建立长连接处理消息收发与 Typing Indicator;消息发送采用可靠队列与幂等 ID(客户端临时UUID,服务端确认后替换)。
    • 状态同步:服务端 ack → 更新为 sent/delivered;接收已读事件更新为 read;在进入会话或前台时批量上报已读。
    • 网络监控:NWPathMonitor 显示离线/重连横幅;断线自动指数退避重连,离线消息入本地队列等待网络恢复。
  • 性能与存储

    • 图片/语音缩略图与媒体缓存使用 NSCache + 盘缓存(URLCache/自管目录),避免重复加载。
    • 列表复用严格管理播放/录音资源,滚动中暂停非焦点音频。
    • 本地持久化(Core Data/SQLite/Realm 任选其一)存储消息与会话元数据,首屏加载最近 N 条,历史分页。
  • 交互与可用性

    • Context Menu:UIKit 使用 UIContextMenuInteraction;SwiftUI 使用 .contextMenu。
    • 可访问性:支持动态字体(Dynamic Type)、VoiceOver 的气泡朗读与控件标签(AXLabel/Hint)、足够的触控目标尺寸(≥44pt),颜色对比符合 WCAG。
    • 国际化与RTL:文本与气泡方向适配双向语言,日期/时间本地化。
  • 安全与隐私

    • 遵循 App Transport Security(ATS),媒体上传走 HTTPS;敏感信息不写入日志。
    • 权限文案清晰(相机、麦克风、定位、照片库),仅在需要时请求。
  • 代码结构建议(示例命名)

    • Controllers/ViewModels:ChatViewController, ChatViewModel, MessageCellViewModel
    • Views/Cells:TextMessageCell, ImageMessageCell, VoiceMessageCell, LocationMessageCell, FileMessageCell, TypingIndicatorCell, TimeSeparatorCell, InputBarView, EmojiPanelView, VoiceRecorderOverlayView
    • Services:MessageService(发送/队列)、RealtimeClient(WebSocket)、UploadService(媒体上传)、ReadReceiptService、TypingIndicatorService
    • Storage:MessageStore、MediaCache、SettingsStore
    • Coordinators:AttachmentPickerCoordinator、PreviewCoordinator
  • 关键注意事项

    • 键盘处理使用 UIKeyboardWillChangeFrame/keyboardLayoutGuide(iOS 15+)或 inputAccessoryView,避免手动计算安全区。
    • 图片/文件上传支持后台继续(后台任务与后台传输配置),进度回调与取消。
    • 语音录制期间锁定音频会话,来电或切后台时安全中断并保存片段。

适配考虑

  • 设备尺寸与尺寸类

    • iPhone:气泡最大宽度随屏幕自适应;小屏(SE)减少头像与内边距以提升信息密度。
    • iPad(Regular size class):增大气泡最大宽度,更多留白;支持分屏与多窗口,指针悬停高亮(UIKit: UIPointerInteraction)。
    • 横竖屏:输入栏与表情面板高度固定但内部网格自适应列数;媒体预览横屏优先全屏展示。
  • 键盘与安全区

    • 使用 keyboardLayoutGuide 或 safeAreaInsets 动态调整列表底部 contentInset,保持最新消息不被遮挡。
    • 外接键盘时保留输入栏,但不随屏幕键盘变化;支持 Command+Enter 发送。
  • 动态字体与内容自适应

    • 文本气泡支持多行与可拓展(“展开更多”);所有标签遵循 UIFontMetrics。
    • 资源缩略图与文件名在大字号下仍保持可读性与不重叠。
  • 方向与语言

    • RTL 语言切换后,气泡左右自动反转;对齐与箭头方向随 locale 更新。
    • 日期、本地化文案与单位(长度/大小)按系统区域设置显示。

以上方案遵循 Apple Human Interface Guidelines 与 iOS SDK 规范,覆盖布局、交互、数据流与实现要点,可直接指导工程落地。

场景概述

  • 功能与目的:构建电商商品详情页(PDP),完整展示商品核心信息(图、价、促、卖点、评价、参数/保障等),支持快速加购与下单,降低跳失、提升信息可读性与转化率。
  • 技术取向:以SwiftUI为主、必要处(图轮播缩放)用UIKit桥接,iOS 15+ 基线,保持实现“简单”、依赖内建能力为主。

界面布局

  • 导航栏与返回

    • 顶部透明导航栏,滚动至标题区后渐变为不透明,显示商品标题(单行省略)。
    • 左:返回按钮。右:客服入口(耳机图标)与分享(可选)。
    • 搜索入口非必需(避免干扰决策,保持“简单”)。
  • 主体滚动容器

    • 垂直 ScrollView,内容分区清晰分块;价格区与操作条突出视觉权重。
    • 顶部“下拉查看大图”提示在轮播区上方显示,当到达顶部时可拉动触发预览。
  • 商品图轮播(缩放/预览)

    • 占位区域:16:9 或接近全宽正方形(以商品图比例为准),居上。
    • 水平分页轮播(TabView.page 或 UICollectionView paging),底部圆点指示器/计数器。
    • 每页包一层 UIScrollView(UIViewRepresentable)以支持双击/捏合缩放;越界回弹关闭。
    • 占位图:灰色/模糊占位,图片加载后渐进淡入。
  • 价格区与促销标签

    • 主价:大号粗体,采用品牌色;辅价(划线价/到手价说明)小号灰色。
    • 促销标签:水平排列的Chip(满减/券/会员价),可点击展开促销说明(底部半屏弹窗)。
    • 价格区底部显示“店铺入口”按钮(小型次要按钮),点击进入店铺首页。
  • 标题与卖点

    • 标题:多行,最大2-3行。
    • 卖点:1-3个短标签(如“次日达”“7天无理由”),视觉弱于价格强于正文。
  • 规格/尺码选择与库存状态

    • 单行摘要(例如“已选:黑色 / 42码 | 有货”),右侧“选择”箭头。
    • 点击进入底部弹出面板:分组属性+SKU格子;禁用缺货项;顶部展示当前SKU图、价、库存。
    • 库存状态:有货/仅剩X件/缺货(缺货禁用加购与立即购买)。
  • 数量步进器

    • 位于规格弹层内与主页面摘要区下方(主页面可只显示当前数量或隐藏,简化交互)。
    • “- / +”大触控区,展示限购/最小起购提示。
  • 底部操作条(固定)

    • 左侧:店铺入口(图标+文字)、客服入口(图标)。
    • 右侧:加入购物车(主按钮次一级色)、立即购买(主品牌色)。
    • 考虑安全区和横向小屏收纳(图标+短文案)。
  • 评价概览与筛选

    • 评分星级+好评率+总评数。
    • 快捷筛选:有图/追评/本地/最新(Chip样式,点击更新当前页面的评价摘要或跳转评价列表页)。
    • 展示2-3条精选评价预览(含图)并提供“查看全部”。
  • 图文详情/参数/保障切换

    • 分段控制(SegmentedControl)吸顶(sticky),切换下方内容区。
    • 图文详情:长图与文本混排;参数:表格样式;保障:服务与政策说明卡片。
    • 在主信息块末尾放“上拉查看详情”提示,滚动到达临界点时自动吸顶并切换到详情区。
  • 推荐商品瀑布流

    • 位于详情区末尾,2列自适应高度网格(简化为固定两列,文本两行内省略,主图等高裁切)。
    • 卡片含图、标题两行、价格、加购小按钮(可选)。
  • 返回顶部

    • 浮动按钮(出现于滚动超过一屏时),右下角,避开底部操作条与安全区。
  • 骨架屏与占位图

    • 首屏加载:价格区、标题区、卖点、按钮、评价卡片显示 .redacted 占位。
    • 轮播使用统一占位图,详情长图使用渐进加载(按屏幕进入时再加载)。

交互流程

  • 首次进入

    • 显示骨架屏,发起并行请求:商品基础信息、SKU与库存、促销、评价摘要、推荐。
    • 收到基础信息后先行渲染标题、价、卖点;图片分批加载;库存/促销返回后刷新按钮可用性与价格。
    • 错误时显示内联错误与重试按钮(不遮挡底部操作条)。
  • 轮播与预览

    • 左右滑动切换图片;双击或捏合图片放大;放大后可平移;再次双击还原。
    • 下拉查看大图:在轮播处下拉超过阈值触发全屏预览(分页浏览,黑底,支持分享/保存),释放返回。
  • 上拉查看详情

    • 用户向上滚动至主信息末尾,提示“继续上拉查看详情”;超过阈值后自动将分段控制吸顶,并滚动到“图文详情”锚点。
    • 切换分段时平滑滚动到对应锚点并更新高亮。
  • 规格/尺码选择与库存联动

    • 点击规格摘要打开底部弹层;点选属性组合,实时查询/计算对应SKU库存与价格。
    • 缺货SKU禁用选择;仅剩X件时在数量步进器附近提示。
    • 确认后更新主页面摘要。“加入购物车/立即购买”按钮基于库存状态启用/禁用。
  • 数量步进器

    • 点击 +/- 调整,若超过库存/限购提示并回退,轻度触感反馈(soft haptics)。
  • 加入购物车/立即购买

    • 校验已选SKU与数量;未选齐则自动展开规格弹层并高亮缺失项。
    • 加购成功弹出轻提示“已加入购物车”,提供“去购物车”动作;失败显示错误与重试。
    • 立即购买跳转确认订单页,携带选中SKU与数量。
  • 评价概览与筛选

    • 点击筛选Chip,刷新预览评价;“查看全部”跳到评价列表页面并传递已选筛选条件。
  • 店铺入口与客服

    • 店铺入口:push 店铺页。
    • 客服入口:打开客服会话(若未登录,先引导登录)。
  • 推荐瀑布流

    • 滚动到达下方触发分页加载;点击卡片进入对应商品详情(支持深度链接)。
  • 返回顶部

    • 点击浮动按钮平滑滚动到顶部;顶部回弹显示“下拉查看大图”提示。

技术要点

  • 架构与数据流

    • MVVM + Swift Concurrency(async/await)。单页ViewModel将产品、SKU、促销、评价、推荐拆分子仓储/服务。
    • 模型建议:Product, SKU, StockInfo, Promotion, ReviewSummary, DetailSection, RecommendItem。
    • 关键状态:selectedAttributes, selectedSKU, quantity, stockState, activeSection(详情/参数/保障)。
  • 视图与布局

    • SwiftUI ScrollView + LazyVStack 分块;价格区/分段控制使用 .background + GeometryReader 实现滚动吸顶与透明度过渡。
    • 轮播:TabView with .tabViewStyle(.page)。每页嵌入 ZoomableScrollView(UIScrollViewRepresentable,min/maxZoomScale,双击缩放)。
    • 瀑布流:LazyVGrid(columns: [GridItem(.flexible()), GridItem(.flexible())]) 简化两列;需要严格瀑布时可升级为 UIKit UICollectionViewCompositionalLayout + UIHostingConfiguration。
  • 导航与交互

    • 顶部透明到不透明过渡:通过滚动偏移计算导航栏背景不透明度。
    • “下拉查看大图/上拉查看详情”:使用 ScrollView contentOffset 监听(PreferenceKey/GeometryReader)驱动阈值判定与滚动到锚点。
    • 底部弹层:presentationDetents([.medium, .large]),规格较多时默认 .large。
  • 网络与性能

    • 图片加载:AsyncImage 或自定义缓存层(URLCache + URLSession)。首屏只预取前2-3张大图,其他懒加载。
    • 内容分批加载:基础信息优先,详情长图按需加载(出现在视窗再发起)。
    • 预取推荐列表分页;滚动性能监控(Instruments)确保主线程帧率稳定。
    • SKU/库存联动:本地组合计算或后端接口返回可售组合;选择变更时只增量刷新相关区块。
  • 占位与状态

    • .redacted(reason: .placeholder) 显示骨架;图片使用渐进式淡入(.transition(.opacity))。
    • 错误状态采用内联卡片+重试按钮;重要操作错误(加购失败)使用alert/toast。
  • 可访问性与国际化

    • 动态字体支持(.font(.title).minimumScaleFactor);VoiceOver:为轮播页添加 accessibilityLabel(序号/总数+图描述)。
    • 控件可达44pt触控目标;色彩对比遵循WCAG AA;支持暗黑模式。
    • 文案本地化;数字/货币使用 NumberFormatter。
  • 代码结构建议(简要)

    • Views/
      • ProductDetailView, PriceSectionView, PromotionChipsView
      • GalleryCarouselView(含ZoomableScrollPage)
      • SpecsSummaryRow, SpecsSheetView(+ QuantityStepper)
      • ReviewSummaryView, DetailSegmentedView, DetailContentView
      • RecommendGridView, BackToTopButton, CustomerServiceButton
    • ViewModels/
      • ProductDetailViewModel, SpecsViewModel, ReviewViewModel, RecommendViewModel
    • Services/
      • ProductService, StockService, PromotionService, ReviewService, RecommendService
    • Routing/
      • ProductDetailRouter(店铺页、评价列表、订单确认)
    • Utilities/
      • ImageCache, ScrollOffsetPreferenceKey, Haptics
  • 事件埋点(可选)

    • 曝光:首屏渲染完成、轮播首图曝光、详情锚点曝光。
    • 交互:加购、立即购买、规格选择、客服点击、评价筛选、返回顶部。
  • 安全与合规

    • 价格/促销与库存一致性以后端为准;下单前再次校验库存/价格变更。
    • 网络失败重试与兜底文案,避免空白页。

适配考虑

  • 屏幕尺寸

    • iPhone SE:压缩横向空间,促销Chip自动换行;底部操作条按钮文字短化(“加购”“立即买”)。
    • 大屏/Plus:轮播保持16:9或1:1,右侧可考虑并排展示部分概要信息(如库存/卖点)但“简单”方案保持单列。
    • iPad:可两栏布局(左图右要点),但若非目标平台维持单列放大。
  • 横竖屏

    • 竖屏为主;横屏时:
      • 轮播高度按宽高比调整;分段控制仍吸顶。
      • 推荐区从2列增至3-4列。
      • 底部操作条扩大间距,确保触控目标。
  • 动态字体与无障碍

    • 文本支持Content Size Category;大号字体下Chip自动换行,按钮增长不截断(优先保留“立即购买”)。
    • VoiceOver顺序:图轮播 → 价格 → 标题/卖点 → 规格摘要 → 操作条 → 评价 → 分段内容 → 推荐。
  • 深色模式与对比

    • 价格主色在深色模式下保持对比度;促销/卖点Chip使用系统语义色(.secondarySystemBackground 边框+文本色)。
  • RTL与本地化

    • 轮播指示器、返回按钮遵循系统方向;金额格式与单位本地化。

以上方案在不引入第三方依赖的前提下,完成电商PDP的关键信息展示与高频购买路径,交互清晰、性能可控、易于扩展,符合Apple人机界面指南与iOS开发规范。

场景概述

  • 这是一个实时直播间场景,支持观众在直播中申请连麦与主播实时互动。在保障低延迟音视频体验的同时,提供礼物动效、弹幕、关注/分享、PK、房间公告等功能,确保房间秩序(队列与审批、麦位管理、违规拦截)与稳定性(弱网降级、重连、后台播放策略),以提升互动留存与内容活跃度。

界面布局

  • 推荐使用 UIKit + 组合式子视图的架构(LiveRoomViewController 作为容器,内部多层 overlay 管理),满足复杂层级与横竖屏切换需求;关键交互面板使用 UISheetPresentationController/自定义半屏面板。

  • 根容器:LiveRoomViewController

    • 背景层:主视频渲染区域
      • 播放器视图:占据安全区内顶部至底部的背景层,竖屏比例以 16:9 或按源等比填充,内容模式为 aspectFill;支持横屏全屏。
      • 主播视频窗口(主画面):在播放器视图内全屏渲染;若处于 PK/连麦,则保留为主舞台。
      • 观众连麦画中画(PIP)容器:右下角悬浮的圆角小窗(约 120–160pt 宽,16:9 或 1:1),支持拖拽与吸附;多路连麦可网格排列(最多 2–4 个),超出折叠为分页点或栈叠角标。
    • 顶部信息与控制条(置于安全区内,渐隐背景)
      • 左侧:返回按钮、房间标题/主播名、在线人数徽标(动态刷新)。
      • 中间:PK 状态栏(仅 PK 时显示)——对手头像与名称、比分、倒计时、弱网/延时徽标。
      • 右侧:关注按钮(大按钮,状态切换已关注)、分享按钮(调用 UIActivityViewController/自定义分享面板)。
    • 右侧工具栏(纵向按钮栈,居中或偏下)
      • 申请连麦/麦位状态按钮(根据状态展示:申请、排队中、已连麦、麦位已满)。
      • 礼物入口按钮(红点提示新道具/活动)。
      • 观众列表按钮(显示在线用户与管理入口,仅主播/房管有管理工具)。
      • 设置按钮(音视频开关、音量、GPU 特效开关、清晰度/线路、举报入口)。
      • 横/竖屏切换按钮(竖屏时显示进入全屏,横屏时显示退出)。
    • 底部互动层
      • 弹幕列表(半透明背景,竖屏底部 1/3 高度区域,支持滑动暂停、上滑隐藏;cell 使用轻量布局与异步绘制)。
      • 弹幕输入栏(置底安全区上方):输入框、发送按钮、表情/快捷语、违规则提示条;非连麦时仅文字输入,连麦时可额外提供语音/静音控制。
      • 快捷礼物条(可选):常用礼物横滑列表,支持连击按钮。
    • 状态提示与公告
      • 房间公告条:顶部横幅,自动轮播,可点击弹出详情。
      • 弱网/降级提示:顶部贴边黄/红色 toast,附操作建议(如切换音频模式)。
      • 违规拦截提示:发送前校验失败时在输入栏上方显示红色条。
      • 引导蒙层:首次进入展示关键按钮引导(点击任一区域或“我知道了”关闭)。
    • 底部连麦控制条(仅观众已上麦或主播端显示)
      • 麦克风开关、摄像头开关、前后摄切换、扬声器/耳机切换、音量滑杆(系统音量 UI 或自定义)、挂断按钮。
      • 麦位状态徽标:显示当前麦位序号、静音/闭麦标记、网络质量。
    • 遮罩面板(Modal/Sheet)
      • 连麦申请队列与审批(主播端):队列列表、同意/拒绝/移除、上麦时长、违规标识。
      • 麦位管理(主播端):固定/解锁、禁麦、封禁、邀请上麦、麦序调整。
      • 礼物面板:礼物网格、连击入口、余额与充值入口、活动推荐位。
      • 观众列表:在线用户、关注、禁言/踢出(主播/房管可见)。
      • 设置面板:清晰度/线路、GPU 特效开关、低延迟模式切换、后台播放开关、问题反馈。
      • 分享面板:系统分享/深度链接/海报生成。

交互流程

  • 进房与初始化

    1. 用户点击进入直播间,展示骨架屏,发起并行请求:房间元数据(REST)、在线人数与心跳(WebSocket/定时器)、公告、礼物配置(缓存+增量)、播放地址(主备线路)。
    2. 播放器优先选择低延迟协议:观众默认 LL-HLS(低延迟 HLS/CMAF);若正在 PK 或高互动房间,可提示“超低延迟模式”(RTC 下行)可切换。
    3. WebSocket 连接建立后订阅:弹幕、礼物、上麦事件、PK 事件、麦位更新、房管指令、违规反馈。
  • 申请连麦(观众)

    1. 点击“连麦”按钮 → 弹出面板:摄麦授权检查、网络与耳机建议、连麦须知、同意条款。
    2. 提交申请 → UI 进入“排队中”状态,按钮显示倒计时与取消;服务端进入申请队列。
    3. 主播端在“连麦队列”面板看到新申请,可预览用户信息、历史违规;同意/拒绝/忽略。
    4. 同意后,观众侧收到上麦邀请事件 → 弹框确认,上麦后:
      • 停止 LL-HLS 播放。
      • 建立 RTC 上下行(主播音视频下行 + 自己上行),完成设备启停与回声消除初始化。
      • UI 切换为“已连麦”,显示 PIP 小窗与连麦控制条。
    5. 拒绝或超时 → 显示结果 toast,并回退到可申请状态。
  • 麦位管理与状态

    • 主播可在麦位管理面板:设定麦位数量、锁定空位、禁麦某位、移除上麦者、邀请指定观众上麦。
    • 观众端实时显示自己与他人麦位状态(小窗角标:静音、禁麦、网络差)。
    • 挂断流程:观众点击挂断或被主播移除 → 先行关闭上行、恢复 LL-HLS 播放、清理 RTC 资源和 UI。
  • 弹幕与礼物

    • 弹幕:输入发送 → 本地预渲染插入 → 服务端审核(命中拦截则回滚并提示原因);支持敏感词提示、频控冷却。
    • 礼物:打开礼物面板 → 选择礼物与连击次数 → 支付与发送 → 服务端下发礼物事件(包含动效素材与队列顺序);终端按服务端时间戳对齐展示;连击在短时重复发送中合并叠加,显示连击计数与特效升级。
  • PK 流程

    • 开始 PK 后顶部状态栏显示对手信息、比分与倒计时;可显示阵营热度条。
    • 结束时展示胜负结果动画与引导关注/复盘。
  • 音视频与弱网策略

    • 用户可切换麦克风/摄像头、前后摄、扬声器;音量滑杆仅影响本地播放。
    • 弱网提示:检测到丢包/抖动/带宽下降 → 顶部弱网条提示并自动降级:
      1. 优先切更低码率/分辨率;2) 降帧;3) 关闭美颜/特效;4) 最终切为“音频优先”模式(关闭上/下行视频)。
    • 网络恢复后逐步回升策略,避免抖动。
  • 横竖屏与全屏

    • 竖屏默认:顶部信息 + 右侧工具栏 + 底部互动层。
    • 点击全屏或横持设备:进入横屏,仅保留核心叠加(PK 状态、少量工具按钮、轻量弹幕);滑动呼出隐藏工具栏;返回竖屏恢复完整 UI。
  • 后台播放与中断

    • 非连麦状态:允许后台音频播放(用户可在设置中开关),进入后台后保留音频,弹幕暂停渲染但保留消息缓冲。
    • 连麦状态:为防止隐私与体验,默认禁止后台;若用户退到后台,自动挂断或切为仅听并提示(产品策略可配)。
    • 处理中断(来电/闹钟):使用 AVAudioSession 中断回调暂停/恢复 RTC 与播放。
  • 连接重试

    • WebSocket/媒体连接断开:指数退避重试 + 限次;重连成功后请求最近增量事件(礼物/弹幕/麦位状态)进行状态补偿。
    • UI 显示“正在重连/已恢复”状态条。

技术要点

  • 播放器与低延迟

    • 使用 AVPlayer 播放 LL-HLS(CMAF 低延迟)流;调优建议:
      • 减小 preferredForwardBufferDuration(或使用自动低延迟配置)、开启快速启动、控制最小缓冲段数。
      • 多线路/清晰度:主备 URL 切换与无缝重连;小范围卡顿优先切换分辨率,其次线路。
    • 横屏全屏:使用 AVPlayerLayer 或自定义渲染视图,支持画面旋转与填充裁剪。
  • 实时连麦(RTC)

    • 使用实时音视频 SDK(WebRTC 技术栈),区分角色:主播(Pub+Sub)、连麦观众(Pub+Sub)、纯观众(Sub)。
    • 音频会话:AVAudioSession category = .playAndRecord,options 包含 .defaultToSpeaker、.allowBluetooth;连麦时开启回声消除、噪声抑制;非连麦回退到 .playback。
    • 设备权限:进入连麦面板前检查/请求麦克风、相机权限;无权限给出引导。
    • 媒体切换:从 LL-HLS 切到 RTC 下行需无缝静音过渡,先停 HLS 再拉起 RTC,完成后打开本地上行;挂断时反向顺序。
  • 信令与数据流

    • 信令通道:WebSocket(房间心跳、在线人数、连麦申请/审批、礼物、弹幕、PK、麦位、违规/系统通知)。
    • 心跳:进入房间后按固定间隔发送,服务端返回在线人数与房间状态;断开超过阈值触发回收与 UI 提示。
    • 时间对齐:获取服务端时间偏移,用于礼物连击窗口、PK 计时与动效同步。
    • 状态机:连麦申请/审批/上麦/挂断、弱网降级/恢复、PK 开始/进行/结束使用显式状态机管理,避免 UI 与媒体状态错位。
  • UI 架构与性能

    • 模块划分:PlayerModule、RTCModule、DanmakuModule、GiftModule、SeatModule、PKModule、ModerationModule、ShareFollowModule、SettingsModule。
    • 数据绑定:使用 Combine 或 async/await + MainActor 驱动 UI;列表使用 diffable data source。
    • 动效:礼物特效使用 Lottie/Metal Shader/CAEmitterLayer,统一动画调度与资源缓存;在弱网或高温降级关闭高耗能特效。
    • 弹幕优化:异步文本排版(CoreText/UILabel + prelayout)、复用池、限帧插入(如每帧最多 N 条)、超量丢弃低优先级。
    • 无障碍与触达:按钮有足够触控面积(≥44pt)、动态字体兼容、VoiceOver 描述。
  • 安全与合规

    • 违规拦截:客户端本地敏感词快速过滤 + 服务端审核回执;违规内容拦截 toast;严重违规触发只读模式或禁言。
    • 设备与温控:监控帧率/温度,触发 GPU 特效开关建议;持久高温时降低帧率/分辨率。
  • 代码结构建议

    • LiveRoomViewController:协调器(Coordinator)管理子模块生命周期与横竖屏切换。
    • ViewModel 分层:RoomViewModel(房态/心跳)、PlayerViewModel(LL-HLS)、RTCViewModel(连麦)、SeatsViewModel(麦位)、InteractionViewModel(弹幕/礼物/关注分享)、PKViewModel。
    • 统一事件总线:RoomEventBus(WebSocket -> 各模块),确保线程安全与主线程 UI 更新。
    • 错误与日志:统一错误码映射、可观测日志与性能埋点(首帧时延、卡顿率、丢包、重连次数、动效触发量)。

适配考虑

  • 屏幕尺寸与布局

    • Auto Layout + Safe Area,关键按钮避开传感器区域;iPad 使用 Split/Popover 优化面板,横屏可启用多列布局(礼物与弹幕并列)。
    • PIP 小窗尺寸按屏宽百分比自适应(约 0.25–0.3 宽),支持拖拽吸附四角;多路连麦在小屏限制最多 2 路并启用分页。
    • 动态字体:输入与列表遵循 Content Size Category,弹幕字号有独立设置项。
  • 横竖屏策略

    • 支持界面方向:竖屏优先;播放区域可强制横屏全屏,非核心叠加元素最小化;切换时使用过渡动画(淡入/尺寸过渡)避免跳闪。
    • 状态保持:横竖屏切换时保留连麦与播放状态、不重建连接;仅重排布局。
  • 后台与系统特性

    • Background Modes 勾选 Audio;非连麦可后台播放音频;连麦时根据策略禁止或切换仅听。
    • Picture in Picture(系统级):仅在纯播放(非连麦、非特效叠加依赖)场景下开放;进入 PiP 自动收起互动层,回前台恢复。
    • 来电/耳机插拔:遵循 AVAudioSession 通知更新路由与 UI 状态。
  • 弱网与设备差异

    • 基于网络质量与设备性能分级策略:老设备/高温默认关闭 GPU 特效;弱网自动降级视频参数。
    • 国际与多语言:UI 文案长度自适应,分享与敏感词库按地区配置。

以上设计遵循 iOS 界面与媒体播放/实时音视频的规范与最佳实践,确保在复杂互动场景下的稳定性、低延迟与良好用户体验。

示例详情

解决的问题

  • 将零散的构思在数分钟内转化为可落地的iOS故事板场景说明,提升从需求到交付的速度。
  • 一次生成覆盖“场景概述—界面布局—交互流程—实现要点—适配策略”的完整说明,减少来回补充与遗漏。
  • 以统一话语体系对齐产品、设计、开发、测试,显著降低沟通成本与返工风险。
  • 依据Apple平台规范与常见设计模式,产出更专业、可评审、可复用的文档,提升上线节奏与质量。
  • 按场景元素、目标用户、复杂度自由定制,沉淀为团队标准模板库,支持多人协作与知识复用。
  • 适用于聊天页、商品详情、工具核心流程、娱乐互动等高频场景,覆盖从概念验证到正式版本的全周期。

适用用户

iOS开发工程师

快速将需求转为可实施的故事板说明,明确控件布局、交互细节与数据流,用作开发蓝图与与设计、后端的同步依据。

产品经理

在评审前把场景拆解为可执行文档,生成不同复杂度版本对齐目标、流程与边界,辅助排期与范围管理。

UI/UX设计师

据生成的结构与流程草图明确信息层级与关键状态,补充视觉规范与动效,提升设计与实现一致性。

特征总结

一键生成符合iOS规范的故事板描述,覆盖布局、交互、状态与页面跳转。
基于场景元素与目标自动构思界面结构,清晰呈现主次层级与视觉节奏。
自动梳理完整交互流程,逐步描述操作触点、系统反馈与关键分支路径。
输出评审就绪的要点清单,快速对齐产品、设计、研发对场景的共同理解。
内置多场景模板,社交、电商、工具、娱乐等页面均可快速定制生成。
提供多设备适配与横竖屏策略建议,减少后期返工与适配遗漏。
智能补全遗漏信息并标注风险点,提前暴露可用性与实现复杂度问题。
支持参数化输入,按复杂度与受众自动调整表述深浅与细节颗粒度。
附带可执行建议:实现顺序、组件选择与性能优化方向,落地更省心。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 601 tokens
- 4 个可调节参数
{ 场景主要元素 } { 场景目的 } { 目标用户群体 } { 技术复杂度 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59