IOS笔记UI--QQ好友动态LTNavigationBarDemo

本文介绍了一种模仿QQ好友动态的iOS导航栏渐变效果的实现方式,当用户上下滑动屏幕时,导航栏颜色会随之渐显或渐隐,并且点击右上角按钮可以切换到另一个带有旋转动画的导航栏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人刚刚模仿qq好友动态的LTNavigationBar效果写了一个Demo,大致的效果就是,向上滑动的时候,navigation的颜色逐渐出现,向下滑动navigation的颜色逐渐消失;还有一个功能是点击navigation右边的按钮会旋转且出现另一个navigation(Android效果)。demo基本实现了这两个功能,具体代码还可以优化。提供本人思路供大家学习,欢迎留言交流

/* LTNavigationBarDemo
1.  自定义navigation(也可以不自定义)放上3个button
2   创建tableView 实现协议方法
3   通过tableView父类方法实现navigation透明度的改变
4   在navigation右边button的点击事件改变button的角度,出现另一个navigation(上面同样有个button)点击button该navigation隐藏,且旋转button角度 */
看一下效果


关键部分代码:
#define MY_NAVIGATIONBAR_ALPHA_CHANGE_ALPHA_BEGINCHANGE (scrollView.contentOffset.y-40)/255.
#define MY_NAVIGATIONBAR_ALPHA_CHANGE_ALPHA_ENDCHANGE 0

#pragma mark - scrollView
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (40 <= scrollView.contentOffset.y) {
        myNavigationBar.backgroundColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:MY_NAVIGATIONBAR_ALPHA_CHANGE_ALPHA_BEGINCHANGE];
    }
    if (0 == scrollView.contentOffset.y) {
        myNavigationBar.backgroundColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:MY_NAVIGATIONBAR_ALPHA_CHANGE_ALPHA_ENDCHANGE];
    }
}



// androidStyle
-(void)rightClick:(UIButton*)btn
{
    btn.transform = CGAffineTransformRotate(btn.transform, -M_PI_2);
    isClick = YES;
    UIView *myRightNavigationBar = ( UIView *)[self.view viewWithTag:MY_RIGHTNAVIGATIONBAR_TAG];
    myRightNavigationBar.hidden = NO;
    NSLog(@"rightClick");
}


-(void)myRightNavButtonClick:(UIButton*)btn
{
    NSLog(@"myRightNavButtonClick");
    
    btn.transform = CGAffineTransformRotate(btn.transform, -M_PI_2);
    UIView *myRightNavigationBar = ( UIView *)[self.view viewWithTag:MY_RIGHTNAVIGATIONBAR_TAG];
    myRightNavigationBar.hidden = YES;
    
}

附上完整demo代码:http://download.youkuaiyun.com/detail/csdn_hhg/9197821
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值