首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最新iOS设计规范六|10大交互规范(User Interaction)

、呼出在分屏视图控制器隐藏视图、在列表中显示“删除”按钮、或者在预览中呼出操作列表。...触摸并按住(Touch and Hold):当可编辑或可选文本形式执行时,突出显示指尖下文本并显示编辑菜单。...旋转(Rotate):旋转图像或视图 摇晃(Shake):撤销或重做 六、3D 触控(3D Touch ) 3D触摸可以说是为触摸交互方式提供了另一个维度交互,在支持3D触摸设备上,用户可以通过对屏幕施加不同程度压力来唤醒不同功能...特别是当用户在使用内置麦克风同时关闭iPadSmart Folio,结束通话至关重要。关闭Smart Folio会自动使iPad麦克风静音,并且默认情况下会中断与之关联音频会话。...在适当时机自动滚动目标的内容。 提取并显示拖放内容最丰富表示形式。 如果适用,仅提取被放置内容相关部分。 内容被放置后,在表视图和集合视图中显示占位符。

3.9K30

iOS——配适深色模式

适配深色模式 苹果在iOS13中为iPhone引入了深色模式。那作为成为iOS程序员我们也有事情做了,就是适配深色模式。...首先,所有 UIKit 本身所提供 UI 控件(例如 UIView,UILabel,UITextView等等) ,只要没有针对颜色等内容特殊设置过,都会自动适配深色模式,这部分是我们开发者不需要去关心...颜色 在iOS13以后,UIKit给我们提供了很多动态颜色,system开头都是动态颜色,当我们给 UI 控件设置了动态颜色以后。 UI 控件就会自动根据当前是否是黑暗模式展现出来对应颜色。...如果我们希望某个单独视图一种固定显示模式来显示的话, 我们可以通过setOverrideUserInterfaceStyle这个方法来设置视图显示模式。...[self.view setOverrideUserInterfaceStyle:UIUserInterfaceStyleLight]; (滑动显示更多) 如果说我们希望某个界面一种固定模式来显示的话

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

flutter上拉抽屉效果 flutter拖动抽屉效果

,也可配置关闭这个功能; 2、 抽屉关闭状态时,向上滑动滑动过一定高度时自动向上滑动打开,当没有滑动过一定高度时,自动向下滑动,呈关闭状态; 3、 抽屉打开状态时,当滑动视图处于顶部时,向下滑动,...抽屉自动向下滑动关闭,可配置形状是否开启这个功能 4、 抽屉打开状态时,当向下滑动抽屉时,没有滑动到一定距离时放开,抽屉会自动向上滑动回到打开状态,当滑动到一定距离时放开,抽屉会自动向下滑动关闭状态...监听滑动组件处理 6、 DragController控制器自定义监听回调实现A调用B 小编将这个效果封装成一个DragContainer组件,在这里使用drag_container依赖库,小编已将这个效果封装成依赖库供大家使用...省略 } 在这里也声明创建了一个ScrollController ,用于抽屉视图滑动视图,声明抽屉控制器DragController 用来控制抽屉打开与关闭,代码如下: ///关闭抽屉 dragController.close...与抽屉视图关联 controller: scrollController, ///需要注意是这里控制器需要使用 ///builder函数中回调中 控制器

3.3K51

【IOS开发基础系列】UIScrollView专题

为了达到这个目的,它临时中断了一个touch-down事件,通过建立一个定时器,在定时器开始行动之前,看是否触摸手指做了任何移动。...而前面所说时,中断touch-down事件,和取消touch事件是俩码事,所以当快速在子视图上移动时候,当然可以滚动。...下面就需要在你创建视图控制器中,创建一个重用视图数组,用来把这些要显示视图放入内存中,这里虽然界面上显示是2排2列四个视图,但是当拖动时候,可能出现前面一排视图显示一部分,末尾一排视图显示一部分情况...编写很多子类是很沉闷事情,你最后会有很多无法重复使用单独视图,而MVC视图部分一个重点是视图是可以在不同控制器和不同模式之中重复使用,如果我们把所有逻辑都放在视图中,它减少了可复用性。        ...它在这些对象之间保持了松散配对,视图本身与视图控制器或任何其它控制器对象,委托不是滚轴视图直接子类,它比起牢固配对子类更加松散。

36130

Android开发笔记(一百零一)滑出式菜单

所以我们可以给视图添加触摸监听器OnTouchListener,在触摸坐标发生变化同时,给菜单子页面隐入隐出对应宽度,从而达到抽屉式拉出菜单效果。...一旦触摸弹起,根据手势滑动距离,判断当前是要拉出整个菜单,还是缩回才拉出一部分菜单。...这个判断可按照滑动偏移是否达到屏幕一半宽度条件,至于自动拉出或者自动缩进动画,可由Runnable来定时刷新视图leftMargin参数。 下面是一个简单侧滑效果截图: ?...当然,要把HorizontalListView作为侧滑菜单来使用,我们还需要对其做下列改造: 1、在手势松开时候,根据当前滑动偏移,自动判断接下来是往左滑动对齐,还是往右滑动对齐。...3、通过手势滑动拉出菜单页后,要捕获点击事件完成翻页,即在onSingleTapUp方法中将当前页面切换到内容页。 下面是采用HorizontalListView实现侧滑效果截图: ?

1.1K70

最新iOS设计规范九|10大系统能力(System Capabilities)

默认情况下,初始化或重新定位开始时,辅导视图自动出现,因此您应该准备隐藏不相关UI,帮助人们专注于辅导视图说明。 如有必要,请提供自定义教练引导。...从屏幕右侧滑动即可访问“侧拉”,在不离开当前应用程序上下文情况下临时使用第二个应用程序,以便在使用Safari时快速查看“邮件”收件箱。 ? “拆分视图”使您可以同时使用两个并排应用程序。 ?...设计适应性强界面,并保证在拆分视图中运行流畅。当用户切换多任务模式,旋转屏幕或更改文本大小或区域时,自适应界面会自动调整其UI元素和布局。 为中断做好准备,并准备好恢复。您应用可以随时中断。...从iOS 11开始,截屏后,屏幕截图会预览形式短暂地出现在屏幕底部。用户可以向侧面滑动预览将其关闭(如果用户什么都不做,则预览会在几秒钟后自动关闭)或点击预览快速访问即时标记和共享工具。...在iPhone上,如果您应用程序具有导航栏,请像应用程序层次结构中任何其他视图一样,将预览滑动到适当位置。

4.2K20

iOS导航栏使用总结

,用于优化滑动视图(继承于UIScrollView视图)在视图控制里显示: iOS系统导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器...UI布局进行优化:视图控制器里面第一个被添加进去视图滑动视图,并且其Frame是整个屏幕大小时,系统会自动调整其contenInset,保证滑动视图内容不被UINavigationBar与UITabBar...但是对于普通视图,此时我们仍然需要注意:非滑动视图布局仍然要考虑导航栏和标签栏高度,注意不被遮挡,比如布局时候加上导航栏高度,以免内容被导航栏遮挡。...我们可以通过一段代码来测试一下效果,在默认导航栏(半透明)视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会被导航栏覆盖 UITextView *leftTextView...导航栏透明情况下,滑动视图自动偏移,普通视图被遮挡 其实,这种系统优化也是可以控制关闭关闭优化之后,滑动视图就会和普通视图一样,如果还设置其布局原点是(0,0),其内容就会被导航栏所覆盖,关键代码如下

3.1K20

iOS开发常用之网络

自动将collection view处理完善,并将用户消息合适美观方式显示出来。每个iOS项目都可以自动处理。...ZWSlideViewController - ZWSlideViewController多页滑动视图控制器,可以用最简单继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富定制,可以使用在多种不同形态...iOS-RatingBar - iOS-RatingBar swift版评分控件,跟AndroidRatingBar一样有两种模式,评分模式和只读模式'支持视图编辑,自定义星星数量,评分等级,另外还能支持非整数星...BubbleTransition - 气泡膨胀和缩小动画效果来显示和移除控制器,Uber就是这种取消操作方式。...XTLoopScroll - 用两个timer三个重用视图实现无限循环scrollView,1自动轮播2点击监听回调当前图片3手动滑动后重新计算轮播开始时间,良好用户体验。

23.5K10

Cocoa编程中视图控制器视图类详解

UIActionSheet  所有控件(控件是将用户触摸转换为回调触发器屏幕对象。)...导航控制器自动构建并处理Back按钮; 3. 导航控制器提供简单菜单栏可帮助用户进行自定义控件。4....作为弹出回上一级视图控制器Back按钮是自动产生并处理,无需用户干预。 3. 可使用popViewControllerAnimated:BOOL弹出当前视图控制器并向左显示前一个视图。 4....1.作用: •创建和管理视图。 •管理视图上显示数据。 •设备方向变化,调整视图大小适应屏幕。 •负责视图和模型之间数据及请示传递。 2....设计模式     传统mvc设计模式 image.png 添加描述    iOS mvc设计模式 image.png 添加描述 主要区别在于view和model之间数据交换都要通过控制器来协调

5K50

Android:Fragment + Activity 二合一

2、支持左、右、左&右滑动(未来可能会增加更多滑动区域) 3、支持Scroll中滑动监听 4、帮你处理了app被系统强杀后引起Fragment重叠情况 效果 效果图 谈谈实现 拖拽部分大部分是靠...ViewDragHelper来实现,ViewDragHelper帮我们处理了大量Touch相关事件,以及对速度、释放后一些逻辑监控,大大简化了我们对触摸事件处理。...(本篇不对ViewDragHelper做详细介绍,有不熟悉小伙伴可以自行查阅相关文档) 对Fragment以及Activiy滑动退出,原理是一样,都是在Activity/Fragment视图上,...,只有这两个方法返回大于0值才能正常捕获; 并且你需要考虑当前拖拽页面下是有2个SwipeBackLayout:当前Fragment和Activity,最后代码如下: @Override public...2、动画 我们需要在拖拽完成时,将Fragment/Activity移出屏幕,紧接着关闭,最重要是要保证当前Fragment/Actiivty关闭和上一个Fragment/Activity进入时是无动画

64020

Android开发:实现滑动退出 Fragment + Activity 二合一

2、支持左、右、左&右滑动(未来可能会增加更多滑动区域) 3、支持Scroll中滑动监听 4、帮你处理了app被系统强杀后引起Fragment重叠情况 效果 [937851-95b4107750f8a8aa.gif...] 效果图 谈谈实现 拖拽部分大部分是靠ViewDragHelper来实现,ViewDragHelper帮我们处理了大量Touch相关事件,以及对速度、释放后一些逻辑监控,大大简化了我们对触摸事件处理...(本篇不对ViewDragHelper做详细介绍,有不熟悉小伙伴可以自行查阅相关文档) 对Fragment以及Activiy滑动退出,原理是一样,都是在Activity/Fragment视图上,...,只有这两个方法返回大于0值才能正常捕获; 并且你需要考虑当前拖拽页面下是有2个SwipeBackLayout:当前Fragment和Activity,最后代码如下: @Override public...2、动画 我们需要在拖拽完成时,将Fragment/Activity移出屏幕,紧接着关闭,最重要是要保证当前Fragment/Actiivty关闭和上一个Fragment/Activity进入时是无动画

86630

【IOS开发基础系列】UIView专题

iOS程序启动完毕后,创建第一个视图控件就是UIWindow,接着创建控制器view,最后将控制器view添加到UIWindow上,于是控制器view就显示在屏幕上了。...    [self.window addsubview: vc.view];     (2)设置uiwindow控制器自动将rootviewcontrollerview添加到window中,负责管理...),自动把该控制器设置为UIWindow控制器,接下来再将window显示出来,即看到了运行后显示界面。         ...讨论     默认情况下,视图几何图形改变自动重绘而不需要调用drawRect:方法。因此,你需要去请求视图重绘当视图数据或者状态改变时候。...UITouch对象有一个view属性,表示此触摸操作初始发生所在视图,即上面检测到hit-test view,此属性在UITouch生命周期不再改变,即使触摸操作后续移动到其他视图之上。

40730

UIScrollView

,用户接触他们手指(只读) @property(nonatomic,readonly,getter=isDecelerating) BOOL decelerating; //26.一个布尔值,决定是否推迟滚动视图触摸手势处理...如果它从这种方法受到NO便停止拖动和转发触摸时间内容子视图。...) 设置scrollViewdelegate(代理)为控制器对象 scrollView.delegate = 控制器; 控制器要遵守UIScrollViewDelegate协议 @interface...代理方法:方法名一般是控件名开头,比如UIScrollView代理方法一般scrollView开头 如何监听控件行为 通过addTarget: 只有继承自UIControl控件,才有这个功能...,才有这个功能 NSTimer使用 开启定时器 @property (nonatomic, weak) NSTimer *timer; // 返回一个自动开始执行任务定时器 self.timer

1.8K60

Android高频面试专题 - 提升篇(三)事件分发机制

但是对于这个流程,还是建议大家都自己亲自动手,跟着源码走一遍,不然面试官一问,Activity中,dispatchTouchEvent(event)中MotionEvent是哪里来,还不一下就露馅了...MotionEvent里面定义了事件类型,其实很容易理解,因为用户可以在屏幕触摸滑动,离开屏幕动作,分别对应: MotionEvent.ACTION_DOWN:用户触摸View&ViewGroup。...就会收到相应硬件中断,然后将中断加工成原始输入事件并写入相应设备节点中。...onTouchEvent:方法返回值为true表示当前视图可以处理对应事件;返回值为false表示当前视图不处理这个事件,它会被传递给父视图onTouchEvent方法进行处理。...8、几个重要结论 同一次触摸事件序列是从手指接触屏幕那一刻起,到手指离开屏幕那一刻结束,在这个过程中所产生一系列事件,这个事件序列down开始,中间含有数量不定move事件,最终up事件结束

2.2K42

Flutte部件目录-Material Components 顶

WidgetsApp 一个便利类,它包装了应用程序通常需要许多小部件。 ? Drawer Material Design面板,从展示台边缘水平滑动在应用程序中显示导航链接。 ?...FlatButton 平面按钮是在材料组件部件上打印部分,通过填充颜色对触摸作出反应。 ? IconButton 图标按钮是一个打印在材质小部件上图片,通过填充颜色(墨水)对触摸作出反应。 ?...例如,他们可以显示头像图标,阐明潜台词或正交行为(如添加帐户)。 ? AlertDialog 警报是需要确认紧急中断,通知用户有关情况。 AlertDialog小部件实现了这个组件。 ?...BottomSheet 底部工作表从屏幕底部向上滑动显示更多内容。...GridView 网格列表由垂直和水平布局排列单元格重复模式组成。 GridView小部件实现了这个组件。 ?

9.4K40

iOS视频播放基本方法

View添加到视图控制器View上才能显示视频,使用步骤如下: 第一步:引用MediaPlayer框架,声明视图控制器属性PlayerController #import <mediaplayer mediaplayer.h...:播放视频 //播放前准备,会中断当前正在活跃音频会话 [ self.playerController prepareToPlay]; //播放视频,设置了自动播放之后可以不调用此方法 //[ self.playerController...play]; //第六步:在退出界面的时候,关闭播放器,移除通知 - (void)dealloc{ //当前视图控制器pop之后并不会关闭播放,需要手动关闭 [self.playerController...使用这种方式播放优点在于可以指定播放界面的原始尺寸大小,但是值得注意是AVPlayerViewController必须被当前视图控制器所持有,以防止被当做局部变量被释放。...为了满足这一条件,我们可以将AVPlayerViewController作为属性,也可以使用addChildViewController方法将其作为当前视图控制器视图控制器,示例代码如下: //步骤

4.2K20

iOS好用第三方侧边栏控件——MMDrawerController

二、MMDrawerController使用及相关设置         MMDrawerController使用十分简单,只需将中心视图控制器和左边栏视图控制器传入初始化方法即可完成MMDrawerController...= 1 << 1, //在中心视图控制器上推动时可以关闭侧边栏 MMCloseDrawerGestureModePanningCenterView = 1 << 2,...//在中心视图控制器边缘20单位内拖动是可以关闭侧边栏 MMCloseDrawerGestureModeBezelPanningCenterView = 1 << 3, //...点击导航栏时可以关闭侧边栏 MMCloseDrawerGestureModeTapNavigationBar = 1 << 4, //点击中心视图控制器视图时可以关闭侧边栏...3.无法设置显示一个最小抽屉宽度。 4.不能支持UITabBarController容器。 5.不能在中心视图控制器之上呈现侧边栏视图。 专注技术,热爱生活,交流技术,也做朋友。 ——珲少

2.7K20
领券