首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Swift-MVVM 简单演练(一)

    初步的视图模型的体验 以及一些遇到的语法问题的简单探究 ---- GitHub 上创建项目 如有需要,请移步下面两篇文章 iOS-将项目上传到 GitHub 上 iOS-将项目上传到 Git.OSChina...上,创建自己的私有项目 ---- 项目配置 删除ViewController.swift、Main.storyboard和LaunchScreen.storyboard 设置APPIcon和LaunchImage...原因是:系统默认的导航栏的透明度太高,自定义设置一个颜色就好了 HQBaseViewController.swift // 设置`navigationBar`的渲染颜色 navigationBar.barTintColor...tabBar的后面,底部位置也有问题 解决 TableView 的位置问题 主要在HQBaseViewController里,重新设置tableView的ContentInsets /* 取消自动缩进,当导航栏遇到...有几点需要注意的 动画旋转需要一直保持,切换到其它控制器或者退到后台再回来,要保证动画仍然能继续转动 设置动画的旋转周数tiValue的M_PI在swift 3.0以后已经不能再用了,需要用Double.pi

    10.3K51

    # iOS导航栏控制Tips

    2.从显示导航栏的页面Push到不显示导航栏的页面。 注意: 1.如果导航栏不显示时,系统的侧滑返回功能无效。...// 不显示动画,导航栏显示就比较突兀 [self.navigationController setNavigationBarHidden:YES]; // 显示动画,在侧滑时,导航栏显示就比较顺滑...比如,当页面用户输入了一些内容后,用户要点击返回,想要回到上一个页面时,提醒用户是否要缓存已经输入的内容。 如果我们重写了导航栏的返回按钮,那么处理这种情况就很Easy,不做赘述了。...但是,如果我们需要在用户点击返回按钮时,弹窗提示,那就需要导入这个类别。...setViewControllers:newChildVCs animated:animated]; } 当然了,除了上面这些场景,还可以扩展出一些其他的场景,比如我们期望将要push出来的控制器再某个栈中控制器的后面或者前面,这样当点击返回或者侧滑时

    1.7K31

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

    当程序接收到内存警告时,controller会尝试卸载view,在卸载循环中,controller尝试释放它的view对象并返回到原始的无view状态(当它不在屏幕上显示时,这个条件的判断到底是根据view...解决方法1:去掉动画     解决方法2:监听当前view的动画是否完成     问题场景:         此类问题比较容易出现在两个vc连续push或者pop的时候,简单做法就是将push或者pop...(^)(BOOL finished))completion NS_AVAILABLE_IOS(5_0);     (1)前面3种方法这里就不多说了,很常见的系统方法.至于第四种,我在前面文章-剖析网易标签栏的效果中已经做了阐述...如果你使用系统的各种应用,在navViewController里push了一个新的VC的话,返回时并不需要点击左上的Back按钮,而是通过从屏幕左侧划向右侧即可完成返回操作。...在绝大多数情况下,精心编写的一套UIView动画是可以轻易地用在不同的VC中,甚至是不同的项目中的。

    71130

    商品添加到购物车动画getBoundingClientRect获取元素位置

    联动菜单 1.1 用户点击左侧导航栏会跳转到相应的内容 这个很简单,给导航栏的每一个元素加一个点击事件,其实也可以通过a标签的锚点来实现 栏始终在顶部的效果。关于粘性定位更多的可以看这里 2. 按钮缓慢弹出 当我们点击添加按钮的时候其他的内容会缓慢弹出,这个是靠css的动画实现的。...点击添加按钮时选择物品个数大于0则让left变为0达到一个缓慢弹出的动画效果。 pop: true, mov: item.num>0}"> 动画实现思路:用户点击添加时将一个小球的位置设置为被点击元素的位置,且获取目的地位置(购物车位置),当小球抛出时使其运动方式按照贝塞尔曲线过渡。...上面的DOM操作可以改成使用vue的动画组件 transition 进行优化,感觉会更好,我在项目中使用了transition组件进行优化,代码更加简洁。

    1.7K20

    大前端开发中的路由管理之四:iOS篇

    同时UINavigationController还持有屏幕上方的交互栏(navigationBar)和屏幕下方的工具栏(toolBar),并控制他们是否可见。         ...而点击应用上方的NavigationBar返回按钮(如果没有隐藏起来的话)就会pop当前的ViewController,也就是返回上一层。...:NO];             //这时nav的顶层VC被pop出,top变成vc1         通过解析源码的方法,发现UINavigationController不仅有简单的pushViewController...一样,UINavigationController通过自己的代理(delegate)来实现方法,可以重写他的push和pop来实现自己的动画效果,但需要遵循UINavigationControllerDelegate...当 app 使用的内存超过这个临界值,就会发生 OOM 崩溃。

    1.9K40

    抓住iOS的未来 - 30天学习编写30个Swift小程序

    我学到了 这次Project演示了Present/Dismissd如何做Transition动画,这和做Push/Pop的转场动画的基本原理都是一样的 这次的动画参考了BubbleTransition...OC中的调用方法) - 项目中至少有以下几类viewController:第一页展示的VC,比如FrontViewController;tabeView所在的MenuViewController...要注意,在设置icon时,只可以设置系统内置的集中icon,不支持自定义图标 - 针对第二种功能,需要在想加入支持3D Touch的VC中注册并添加相应事件 - 添加````UIViewControllerPreviewingDelegate...在新建方法里有block,直接将点击逻辑写进去就行了。...image.png 下一步,我打算再重新梳理下Swift语法,对这些项目进行小规模的重构,从结构上去看看能否挖掘到Swift的特性,从另一个角度(目前是功能角度)来学习Swift。

    2.5K20

    Win系统好软推荐

    点击win版,并不是一个exe的安装文件.而是自带的应用市场 ? 右图是市场,左图是软件 ? 打开的桌面软件,点击文档按钮,有一点点的动画效果 ?...从任务栏添加或删除图标时,图标将移动到中心或用户指定的位置。您可以选择在各种不同的动画之间进行选择并更改其速度。如果您不喜欢动画并希望它们立即移动,则可以禁用动画。...-cpo = 1将仅使主要任务栏居中。0被禁用。 -cso = 1将仅使辅助任务栏居中。0被禁用。 -as = backeaseout会将动画样式设置为BackEaseOut。“没有”是即时的。...当添加或删除托盘图标时, -ftotc = 1将更新任何工具栏。 -sr = 1920将在屏幕宽度变为1920px时将图标放在左侧。...标签 中心任务栏,中心任务栏图标,CenterTaskbar,中心任务栏图标Windows 10,中心任务栏窗口,Windows中心任务栏,Windows中心任务栏图标,中心任务栏图标,Windows

    1.5K40

    Pop–实现任意iOS对象的任意属性的动态变化

    最新示例: 点击下载 注意: 官方代码中,并不包含实例,而是用于编译的所有源代码,建议自行新建工程,并结合下文的代码片段查看效果....[layer pop_addAnimation:anim forKey:@"myKey"]; 可以根据开始动画时传入的键,来移除对应的动画: [layer pop_removeAnimationForKey...:@"myKey"]; 开始动画时传入的键,也可以用来查询是否存在某个动画.更新一个正在执行的动画的 toValue,可以无缝实现动画效果间的过渡: anim = [layer pop_animationForKey...,你可以在自己的项目中直接使用.你也可以通过创建POPAnimatableProperty类的实例,来创建一个自定义的动画属性.下面的例子中,我们定义了一个自定义的volume动画属性: prop =...)通用动画属性. */ extern NSString * const kPOPToolbarBarTintColor; /** 标签栏(UITabBar)通用动画属性. */ extern NSString

    1.2K70

    React Native 系列(八) -- 导航

    pop():返回到上一个页面。 popN(n):一次性返回N个页面。当 N=1 时,相当于 pop() 方法的效果。 replace(route):替换当前的路由。...title:标题,如果设置了这个导航栏和标签栏的title就会变成一样的,不推荐使用 header:可以设置一些导航的属性,如果隐藏顶部导航栏只要将这个属性设置为null headerTitle...类似iOS的present效果 headerMode:返回上级页面时动画效果 float:iOS默认的效果 screen:滑动过程中,整个页面都会返回...none:无动画 cardStyle:自定义设置跳转效果 transitionConfig: 自定义设置滑动返回的配置 onTransitionStart:当转换动画即将开始时被调用的功能...onTransitionEnd:当转换动画完成,将被调用的功能 path:路由中设置的路径的覆盖映射配置 initialRouteName:设置默认的页面组件

    6K80

    iOS_Memory Leak 内存泄露治理

    检测方法是用 Mark Generation 的方式,当每次点击 Mark Generation 时,Allocations 会生成当前 App 的内存快照,而且 Allocations 会记录从上回内存快照到这次内存快照这个时间段内...,新分配的内存信息. ---- 2、Memory Report Xcode 运行项目时,切换到 Debug navigator 点击 memory 就可以查看 Memory Report,显示 内存使用...导致的循环引用,按调用堆栈找到对应的代码: 4.3.3、Call Tree页面 点击中间栏的左侧切换到Call Tree统计模式,也可通过底部栏的工具进行过滤 Separate By Thread...5.2、入口: Xcode 运行项目时可点击中部栏的Debug Memory Graph按钮,查看内存图: 5.3、使用分析: 5.3.1、分析方式1: 点击左侧 导航栏 - 底部栏 的 Show...only leaked allocations 按钮,可过滤出泄露的对象: 例如:动画用到的 CGPath 没有释放: 5.3.2、分析方式2: 退出页面后点击 Debug Memory

    90220

    Swift| 基础语法(五)

    前言 总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...register(MyNewTableViewCell.self, forCellReuseIdentifier: "myCell") 当注册了Cell之后,在没有可重用的Cell时会自动创建,并且不能在需要时手动创建...可以在自定义cell中处理点击状态下的显示 var label1 :UILabel? var label2 :UILabel?...() tabbarController.tabBar.barTintColor = UIColor.white // 注意:视图控制器超过5个时(不包含5)会自动生成一个more视图标签

    2K30

    最新iOS设计规范五|3大界面要素:控件(Controls)

    当列表中有详情展开按钮时,点击该按钮会显示附加信息,点击其他位置则选择行或APP的自定义行为。...避免为同一项目提供情境菜单和编辑菜单。当人用户为同一个项目启用这两个功能时,系统很难检测到用户的真正意图,这可能会让用户感到困惑。 避免提供项目预览的操作按钮。...当人们点击按钮时,日期选择器将扩展为模式视图,从而提供对熟悉的日历样式编辑器和时间选择器的访问。在模式视图中,人们可以对日期和时间进行多次编辑,然后在视图外部轻按以确认他们的选择。...进度条非常适合显示任务的状态,尤其是当它帮助传达任务需要完成多长时间时。 在导航栏和工具栏中隐藏轨道的未填充部分。默认情况下,进度条的轨道包含已填充和未填充的部分。...当输入框中没有其他文本时,文本输入框可以包含占位符文本。 适当时侯,在文本输入框的右端显示“清除”按钮。若有“清除”按钮,点击它便会立即清空文本字段的内容,避免一直点击删除。

    8.6K30

    Flutter 3.7更新详解

    图片 菜单栏和级联菜单 Flutter 现在可以创建菜单栏和级联菜单了。...它已经添加至了所有的文本选择,但是你也可以通过 magnifierConfiguration 禁用或者自定义。...你可以使用 Xcode 打开 ios/Runner.xcworkspace 找到 Enable Bitcode 设置为 No,混合开发项目需要在宿主项目中禁用。...如上所述,当这些图像资源不再被需要时已由框架手动释放,如果这时继续按照 GPU 内存大小的 GC 策略上报至 Dart,会导致不必要的堆内存压力并进一步触发无效的 GC。...具体来说,Flutter 现在会使用 Dart VM 中 RAIL 风格 的 API,让 路由转场时渲染延迟更低,即让堆内存在转场时保持增长而不是进行 GC,避免造成动画的卡顿。

    3.2K00

    iOS快速连续的push和pop 同一个ViewController时,系统到底在干啥

    ,这里主要是构造多样的VC 这里有3个push,一个pop,全都关闭了动画 我们通过对系统的pop和push方法进行了HOOK,通过log个可以看出对应的调用顺序,比如上面代码打印出log如下: 通过...log我们看到,navigationController逐个push VC,然后再将最顶上的VC pop出去,一切符合预期 我们可以改变一下,将pop方法改成[self.navigationController...push和pop,但最后结果还是对的 最后,再将第一、第二和第三个push和最后的pop的Animated置为yes,效果与上面一样,如此看来,pop的动画是否开启不影响结果,pop本身就是最后一步,所以动画不是影响因素...这里说明当快速连续的push pop同一个VC时,没有动画时,调用顺序没有异常,如果加入动画,push和pop均会多次调用,不同的是,有效的push和pop数不变 事实上,对系统的pop进行探索,发现,...除了最后一次pop时,返回的vc为被pop的vc,其余的返回值为nil,如果想抓取有效的pop,看返回值是否为nil时比较好的方式。

    95510
    领券