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

来源:互联网 发布:centos jdk rpm 编辑:程序博客网 时间:2024/04/30 14:11

本人刚刚模仿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.csdn.net/detail/csdn_hhg/9197821
1 0
原创粉丝点击