iOS QQTab動畫的實現(xiàn)

  • 前言
    直到近期才發(fā)現(xiàn)QQTab上的一個動畫,覺得挺有趣的,便上網(wǎng)找了相關(guān)的資料,想了解下這個是如何實現(xiàn)的。
    一開始以為以為是做了一大堆的動畫,旋轉(zhuǎn)之類的才能夠?qū)崿F(xiàn),后來發(fā)現(xiàn)其實整個的實現(xiàn)效果還是挺簡單的。
效果.gif
  • 下面的展示下代碼部分:
  1. 首先我們肯定是需要自定義Tabbar以及一個特殊的Button,才能夠?qū)崿F(xiàn)我們自定義的動畫效果。


    結(jié)構(gòu).png
\\整個button的核心代碼
- (void)panGesture:(UIPanGestureRecognizer *)pan {
    CGPoint point = [pan locationInView:self];
    point = CGPointMake(point.x - self.bounds.size.width *0.5, point.y - self.bounds.size.height *0.5);
    if (pan.state == UIGestureRecognizerStateBegan || pan.state == UIGestureRecognizerStateChanged) {
        CGFloat x = point.x;
        CGFloat y = point.y;
        
        //求平方根
        double R = sqrt(pow(x, 2) + pow(y, 2));
        CGFloat scale = R /self.distance;
        self.dragButton_x = x / scale;
        self.dragButton_y = y / scale;
    } else {
        self.dragButton_y = 0;
        self.dragButton_x = 0;
        [UIView animateWithDuration:0.3 animations:^{
            self.imageView_big.frame = CGRectMake(0, 0, self.itemW, self.itemH - 15.0);
            self.imageView_mini.frame = CGRectMake(0, 0, self.itemW, self.itemH - 15.0);
        }];
        return;
    }
    [self dragIcon];
}

- (void)dragIcon{
    CGFloat x = (self.bounds.size.width - self.imageView_big.bounds.size.width) * 0.5 + self.dragButton_x;
    CGFloat y = (self.bounds.size.height - self.imageView_big.bounds.size.height) * 0.5 + self.dragButton_y;
    self.imageView_big.frame = CGRectMake(x, y, self.imageView_big.bounds.size.width, self.imageView_big.bounds.size.height);
    self.imageView_mini.frame = CGRectMake(x + self.dragButton_x * self.mini_x_Coef, y + self.dragButton_y * self.mini_y_Coef, self.imageView_big.bounds.size.width, self.imageView_big.bounds.size.height);
}
  1. 對于Tabbar的自定義的話其實就是跟我們平常使用的差不多啦。這一塊的代碼也就不單獨貼出來了。

  2. 想要實現(xiàn)這一個效果也是需要UI上面的支持的。


    總icon展示.png

    圖片上面我們可以看到我們也是需要拿到里面的表情圖片的。這一點也是需要我們注意的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 四年一屆的世界杯進(jìn)行得如火如荼,對于資深球迷來說,熬夜看球似乎是家常便飯。 大學(xué)生活那么美好,一天也就短短二十四個...
    MuSky_沐卿心閱讀 804評論 0 38
  • 小七給你哈特,撒浪嘿。 喜歡小七這樣的造型,禮帽格子襯衫牛仔外套。
    蘇小異閱讀 392評論 1 4
  • 《遺失的美好》 文/常怡 也不是有那么多遺憾 也不是有那么多幽怨 只為遺失的 有我們絲絲縷縷的懷念 有你...
    詩人常怡閱讀 276評論 0 1
  • 最近因為在適應(yīng)新的作息時間,所以沒有堅持日更,昨晚有趁著吹頭發(fā)的間隙把《中國有嘻哈》后面兩期拉個大概,今天整理一些...
    人間一趟閱讀 930評論 2 0

友情鏈接更多精彩內(nèi)容