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

VCTransitionsLibrary –自定义iOS交互式转场动画的库

简介 VCTransitionsLibrary 提供了许多适用于入栈,出栈,模态等场景下控制器切换时的转场动画.它本身提供了一个定义好的转场动画库,你可以拖到自己工程中直接使用;也提供了许多拥有不同转场动画效果...最新示例: 点击下载 注意: 自定义视图控制器的转场动画为iOS7 + 通过 UIViewControllerTransitioningDelegate协议, UINavigationControllerDelegate...使用 在自定义转场动画时,有两类关键的类: 动画控制器 –  这个类是用来实现自定义动画的.但你声明想要使用自定义动画时,你应该提供一个动画控制器.这个类会实现需要的动画,完成时会通知框架....交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器的导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以在正在导航至某一页面时..._interactionController : nil; } 用于标签栏控制器切换时的交互 UITabBarControllerDelegate 协议也为交互式转场提供了支持.但是由于代理方法在首次初始化时不被执行

1.6K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS-可交互滑动的TabBarController

    1.先看一下效果 左右滑动交互的TabBarController 2.在iOS7.0以前,要实现这样的效果,只有自定义TabBar了,但这很麻烦。...而在iOS7.0以后,苹果在UITabBarControllerDelegate中增加了下面两个代理方法: /** * 实现该代理,即可以实现自定义的各界面切换时的动画(如平推,缩放,淡入淡出等)...* fromVC:当前显示的VC * toVC:将要切换到的VC * 返回一个自定义的切换动画,在本例中,我自定义了一个平推效果的动画 */ - (nullable id 点击item切换时,也用自定义动画)、MainTabBarViewController(点击item是没有动画),可以在AppDelegate中选则使用哪一个...= tabBarController.viewControllers; if ([viewControllers indexOfObject:toVC] > [viewControllers

    1.8K41

    Swift| 基础语法(五)

    Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...} 在Swift中,创建tableViewCell的方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView的时候直接注册cell: myTb?....register(MyNewTableViewCell.self, forCellReuseIdentifier: "myCell") 当注册了Cell之后,在没有可重用的Cell时会自动创建,并且不能在需要时手动创建...可以在自定义cell中处理点击状态下的显示 var label1 :UILabel? var label2 :UILabel?...因为在Swift中,所有对象的构造器默认都是public,所以需要重写你的init让其成为私有的。 这样就保证像如下的代码编译报错,不能通过。 六、从相册选择照片或者拍照 ?

    2K30

    iOS透明导航栏的平滑过渡(进阶版)引实现过程结

    引 如我在传送门:iOS导航栏切换界面时隐藏和显示中所说,现在很多App的个人中心模块都是不保留导航栏的,会直接使导航栏透明,比如做的很好的QQ个人信息界面: 为什么说QQ做的很好呢?...而很多App的做法其实比较粗糙,类似于我在传送门:iOS导航栏切换界面时隐藏和显示中的做法,需要导航栏透明时,直接将导航栏隐藏起来。...体系下切换界面时由于没有了动画,这边的效果又会变得很差。...现在导航栏的透明就比较完美了: 对于这种将导航栏背景直接设为透明的情况,在 Tabbar 切换界面时,也不会出现导航栏收起的小动画: 为UIViewController添加导航栏透明度属性 为了方便...>= navigationBar.items.count) {// 点击返回按钮 UIViewController *popToVC = self.viewControllers[self.viewControllers.count

    3.1K40

    Swift开发:自定义标签栏UITabBarController (Swift项目开始的第一步)

    在Swift的学习过程中,个人感觉虽说两种语言的相似度很大,但是Swift依然在代码风格上有着和OC很大的差异。...在总结了一些基本的用法之后,我尝试使用Swift自定义UITabBarController和UITabbar,开启这Siwft项目的关键一步,首先展示一下效果图: ?...return } //初始化导航控制器数组 var nvcArray = [BaseNavigationViewController]() //在Swift...,通过currentSelectState的属性观察器更新标签item的显示 //并且通过代理方法切换标签控制器的当前视图控制器 func didItemClick(item:MainTabBarItem...rootViewController = MainTabBarController(); return true } 总结:以上就是在OC代码的基础上,使用Swift来自定义标签控制器的方法和步骤

    4.4K70

    解析 SwiftUI 中两处由状态更新滞后引发的严重 Bug

    原文发表在我的博客 肘子的Swift记事本视图变化在前、状态变化在后在 SwiftUI 中,某些可编程控件在执行一定的操作时,会先更新视图,待视图变化完成后再修改与其对应的状态。...它的复现条件非常简单:在真机上测试( 模拟器上不容易复现 )点击 “GO” 按钮进入下一层视图点击 “Show Sheet” 按钮弹出 Sheet通过下滑手势取消 Sheet在 Sheet 取消后(动画结束时...它的复现条件如下:iOS 16 系统,在真机或模拟器上测试点击视图列表中的按钮,可以进入下一级视图。...请至少进入第三级视图滚动当前视图当视图处于滚动状态时,点击 NavigationStack 左上角的 “Back” 按钮。...由于在返回上层视图时,状态尚未更新,因此在清理 AG 时(返回动画运行中),会破坏应用程序的 AttributeGraph 完整性,从而导致应用程序死锁或崩溃。

    760110

    iOS页面切换的几种方式

    从一个视图控制器切换到另一个视图控制器的几种方式 模态(modal)画面显示方式 //显示模态画面 [self presentModalViewController: ... animated:...dissmissModalViewController: ... animated: ... ]; SwitchViewController中有2个控制器的属性:BViewController,CViewController 点击按钮之后在...B与C视图之间切换–多用于在一个页面中有时要显示或隐藏某个View [self.view insertSubview: 加载的新页面 atIndex: n ]; 3.UITabBarController...实现并列画面跳转 //将5个ViewController实例放入TabBar的viewControllers属性中 self.tabBarController.viewControllers...将根控制器的视图加到应用程序的主窗口 [self.window addSubview: self.tabBarController.view]; 4.UINavigationController实现多层画面跳转,在导航控制器中

    2.5K10

    推送跳转到N级界面 返回那些事

    有没有开发的童鞋和我一样遇到过这样的需求: 正常进入APP时跳转逻辑是这样的 A push to ----> B push to ----> C C pop to ----> B pop to -...123.gif 推送点击跳转产品要求是这样的 场景N.01 ==> 假如APP 退到后台是在A界面(以A界面为rootVC)点击推送直接跳转到C界面,然后C点击返回返回到B界面,B再返回A界面。...234.gif 场景N.02 ==> 假如APP 退到后台是在B界面(以A界面为rootVC)点击推送直接跳转到C界面,然后C点击返回返回到B界面,B再返回A界面。 ?...345.gif 场景N.03 ==> 假如APP 退到后台是在C界面(以A界面为rootVC)点击推送直接跳转到C界面,然后C点击返回返回到B界面,B再返回A界面。 ?...= tempViewControllers; } //TODO: 判断自身控制器在栈中的个数 个数多于一个则移除先入栈的自身 int selfCountInViewControllers

    54650

    Swift-MVVM 简单演练(一)

    点击四个子控制器的时候,访客视图打印的地址都不一样。...{ arrayM.append(controller(dict: dict)) } viewControllers = arrayM } ---- 解释一下 try 在之前的代码中...---- 监听注册和登录按钮的点击事件 在HQVistorView里将两个按钮暴露出来,然后直接在HQBaseViewController中添加监听方法即可。...则可以直接通过addTarget的方式为该视图中的按钮添加监听方法 这样做的代价是耦合度高,控制器和视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录时导航按钮 如果单纯的在setupVistorView...中设置leftBarButtonItem和rightBarButtonItem,那么在首页就会出现左侧的leftBarButtonItem变成了好友了,再点击好友按钮push出来的控制器的所有的返回按钮都变成了注册

    10.3K51

    iOS音视频接入- TRTC互动直播

    切换角色的过程也伴随着用户从代理机到接口机的迁移,TRTC 特有的低延时观看技术和平滑上下麦切换技术,可以让整个切换时间变得非常短暂。...在填写ok,点击开始直播后我们查看下调用了组件和TRTC SDK的哪些API。 1. 创建房间 /// 创建房间(主播调用),若房间不存在,系统将自动创建一个新房间。...发送一条消息 在TCAnchorToolbarView的initUI中创建了一个聊天的按钮_btnChat,点击这个按钮调起键盘并呼出输入框,输入完成后点击发送,在发送前可选弹幕模式。...点击发送后调用的API如下: 1..../// - Parameter callback: 销毁房间的结果回调,成功时 code 为0。 /// - Note: /// - 主播在创建房间后,可以调用该函数来销毁房间。

    4.6K40

    iOS 组件化-路由解耦思想 JLRoutes 实战篇(一)App内控制器跳转

    , 切换等等; 下面引用常见场景来举个栗子: Router 前 伪代码: 假如在没有引入 Router 之前, 实现 A Push B, B Modal C 的场景: 一般做法都是在 A 中引入B,...处理 Router : 也就是注册好 Router 之后, 调用相应 Router 时, 我们在注册时写得回调方法, 这里是执行控制器跳转和传参的逻辑。...关于控制器跳转 : 在触发 Router 时, 我们能拿到 Router 映射到的 Map, 获取到其 Class, 在通过 Class 来进行初始初始化实例, 这里通过对 UIViewController...) { //移除掉指定数量的 VC, 在Push; NSMutableArray *vcs = [nav.viewControllers..., 点击通知等都会触发; 这些包含跳转, 页面切换的我们均可以统一使用 Router 来进行有效的管理, 使 App 变得更加动态化, 模块之间耦合度更低; 支持 H5 跳转 外部 Scheme 启动

    1.6K20

    iOS开发之App主题切换完整解决方案(Swift版)

    另一个页面就是选择相应主题的页面,也就是下方你所看到的TabieView的列表页,该列表中提供了6种可选的主题,点击相应的主题即可切换到该主题上。...因为本篇博客的Demo在切换主题时只涉及到了三个元素,一个是背景色(backgroundColor),一个是标题的颜色(titleTextColor),在一个就是详情的颜色(detailTextColor...在ThemeManager的私有方法中,switcherTheme(themeType)是关键,该方法在收到修改主题的事件后,会发出修改主题的通知,而通知的内容就是将要进行修改的主题。...在主题切换时,需要修改属性的控件我们需要进行处理,使其监听主题切换的通知,并根据通知内容修改控件的属性。在本部分我们就以SuperViewController为例。...首先我们要将SuperViewController添加为主题切换的观察者,然后实现收到通知后的方法。在析构函数中,切记要移除观察者。具体代码如下所示。 ?

    1.8K101

    iOS开发中标签控制器的使用——UITabBarController

    UITabBarController 一、引言         与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理方式是纵向的,采用push与pop切换控制器...,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航,导航中在对ViewController进行管理。... = [NSString stringWithFormat:@"%d",i+1];         [controllerArray addObject:con];     }     tabBar.viewControllers...通过点击下面的标签按钮,可以很方便的切换控制器。如果我们的控制器数超过4个,系统会被我们创建一个more的导航,并且可以通过系统自带的编辑来调整控制器的顺序,如下: ? ?...; - (void)setViewControllers:(NSArray * __nullable)viewControllers animated

    1.8K20

    UI篇-UITabBar及其相关其他知识

    和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换。...setShadowImage:[[MethodTool shareTool]imageWithColor:ViewlineColor size:CGSizeMake(WIDTH, 0.5)]]; //设置点击后的选中...在 BaseViewController 里面的 ViewDidLoad里面设置 if (self.navigationController.viewControllers.count>1) {...只需在第一层页面向第二层页面跳转的地方设置一次即可,第二层向第三层跳转时不需要再次设置,当然,想在第三层页面上显示出 tabbar,设置.hidesBottomBarWhenPushed = NO也是不可能的出效果的...自定义TbarBar 视图切换时的动画的关键方法(后续会整理出视图切换时的动画实现) - (id )tabBarController

    2K20

    iOS音视频接入 - TRTC接入实时视频通话

    新建工程 Xcode12新建工程不再默认是OC而是Swift(可见Swift才是苹果的亲儿子),切换成OC也很简单,只要在interface、lifeCycle、language中不选择【Swift】选项即可...自动订阅: 当房间中有其他用户在上行音频数据时,会收到 onUserAudioAvailable() 事件通知,SDK 会自动播放这些远端用户的声音。...- (void) exitRoom; 1v1视频通话 视频通话是在音频通话上增加远端视频的显示、本地视频采集、推送、摄像头切换等 获取远端视频渲染 /** * 开始显示远端视频画面 * *...在收到 SDK 的 onUserVideoAvailable(userid, YES) 通知时,可以获知该远程用户开启了视频, * 此后调用 startRemoteView(userid) 接口加载该用户的远程画面...在测试时无法播放出该用户视频,其原因为NSString在保存短的纯数字字符串时会使用Tagged Pointer技术,在查看其类型并不是__NSCFConstantString。

    5.9K149

    YouTube mac客户端

    本机推送通知获取有关您订阅的人的新视频,新评论以及直接发送到计算机的推荐视频的通知。本机macOS设计语言这个应用程式利用Apple的《人机介面指南》,让您在Mac上使用YouTube感到宾至如归。...真正的全屏浏览讨厌进入全屏模式,只是在点击另一个视频观看时被踢出?使用Clicker for YouTube,您可以在整个浏览和视频播放体验中保持全屏模式。...暗模式根据您的偏好自动切换到暗模式,或强制应用程序始终使用暗模式。做到你的眼睛。他们稍后会感谢您。视频上传借助YouTube Studio的全面支持,创作者还可以利用该应用轻松上传和管理自己的视频。...以Swift撰写,表现出色与使用Electron的类似应用程序不同,该应用程序是用Swift编写的,可显着提高电池性能,并减轻CPU负担。

    2.5K30
    领券