实现导航栏动态变化交互效果的套路

本文详细介绍了在iOS应用中实现导航栏随列表滚动动态改变透明度和标题显示的交互效果,包括设置视图布局、动态调整导航栏透明度及避免表格内容自动偏移的代码套路。
摘要由CSDN通过智能技术生成

 

| 导语 套路,在武术中是指一连串含有技击和攻防含义的动作组合,在本文中,指的就是一套实现特定功能的代码组合。

一、交互效果

如图所示,导航栏随列表滑动而动态改变背景色和标题显隐,这种交互设计比较常见,那该怎么去实现这样的交互效果呢?想必大体的思路大家都能想得到,首先是让VC的view的布局从屏幕上边缘开始,在UITableView滚动回调方法中根据偏移量改变导航栏的背景透明度。思路简单,但是具体到实现却是有不少技术细节要注意。下面我将分享我所在iOS项目实现导航栏动态变化交互效果的套路。

二、代码套路

第一步,如何让view的布局从屏幕顶部边缘开始,到TabBar的顶部截止?

iOS 7 之后,UINavigationBar和UITabBar默认都变成了半透明,系统也调整了view的布局,默认使用全屏布局(full-screen layout),即铺满整个屏幕。为了让开发者可以自主控制view的布局,UIViewController新增了edgesForExtendedLayout属性,通过设置此属性,你可以指定view的边(上、下、左、右)延伸到整屏幕。

@property(nonatomic,assign) UIRectEdge edgesForExtendedLayout NS_AVAILA
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值