IOS-Swift,CarbonKit被击中时,图标仍然在传呼机上停留了一段时间,如何使它们立即消失

时间:2018-12-13 09:31:50

标签: ios swift uitabbaritem

我已经成功实现了Carbon套件可滚动的TabBar,其中将Images作为图标。他们遇到的问题是我回击时。图标将消失在页面上一段时间。有没有办法让他们立即消失。如果我点击底部的标签栏。这件事不会发生。请帮助

视频

enter image description here

代码

import UIKit
import CarbonKit

 class Result: UIViewController, CarbonTabSwipeNavigationDelegate {

    var sURL : String = ""

     override func viewDidLoad() {

        super.viewDidLoad()

        print( " From Home VC : ", sURL)

    //===== substring the URL to get the screen Name=============
        let startIndex = sURL.range(of: "result_")?.upperBound
        let startString = sURL.substring(from: startIndex!) //===startString:                   let endIndex = startString.range(of: ".")!.lowerBound //===endIndex: 

        var sScreen = startString.substring(to: endIndex)
    //=================================================================


        let iconNames = ["0mag", "1dmc", "2toto","3sg", "4lotto", "5cs", "6stc","7m101"]
        var images = [UIImage]()

        for icon in iconNames {
            if let img = UIImage(named: icon)?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal) {
            images.append(img)
            }
        }

        let carbonTabSwipeNavigation = CarbonTabSwipeNavigation(items: images, delegate: self)
        //carbonTabSwipeNavigation.pagesScrollView?.isScrollEnabled = false
        carbonTabSwipeNavigation.insert(intoRootViewController: self)

        carbonTabSwipeNavigation.setTabExtraWidth(20)
        carbonTabSwipeNavigation.setTabBarHeight(100)
        carbonTabSwipeNavigation.toolbar.barTintColor = UIColor.black
        carbonTabSwipeNavigation.toolbar.isTranslucent=true

        var iIndex = UInt()

        if(sScreen=="mag"){
            iIndex = 0
        }else if(sScreen=="dmc"){
            iIndex = 1
        }else if(sScreen=="toto"){
            iIndex = 2
        }else if(sScreen=="sg"){
            iIndex = 3
        }else if(sScreen=="lotto"){
            iIndex = 4
        }else if(sScreen=="stc"){
            iIndex = 5
        }else if(sScreen=="cs"){
            iIndex = 6
        }else if(sScreen=="m101"){
            iIndex = 7
        }

        print("The iIndex: ", iIndex)

        carbonTabSwipeNavigation.setCurrentTabIndex(iIndex, withAnimation: true)

    }

    override func viewDidAppear(_ animated: Bool) {

        super.viewDidAppear(animated)
    }

    func carbonTabSwipeNavigation(_ carbonTabSwipeNavigation: CarbonTabSwipeNavigation, viewControllerAt index: UInt) -> UIViewController {

        var screen = UIViewController()
        print("What is the index: " , index)

        if (index == 0){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "magnum4D" ) as! Magnum4D

        }else if (index == 1){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "dmc" ) as! DMC

        }else if (index == 2){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "toto" ) as! Toto

        }else if (index == 3){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "sg" ) as! SG

        }else if (index == 4){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "lotto" ) as! Lotto
        }else if (index == 5){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "stc" ) as! STC

        }else if (index == 6){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "cs" ) as! CS

        }else if (index == 7){

            screen = self.storyboard?.instantiateViewController( withIdentifier: "m101" ) as! M101
        }

        print(" What screen is called ", screen)
        return screen

    }
 }

2 个答案:

答案 0 :(得分:1)

这些是当前在其边界视图之外的菜单项。因此,“ view.clipToBounds = true”应该有效。

当调用“ viewWillDissapear”时,您也可以尝试将菜单项的Alpha设置/设置为0。

答案 1 :(得分:0)

在此之后:

 carbonTabSwipeNavigation.insert(intoRootViewController: self)

在下面插入

carbonTabSwipeNavigation.carbonTabSwipeScrollView.clipsToBounds = true