如何获得带按钮的滚动条?

时间:2015-12-24 16:20:59

标签: ios swift storyboard

首先,我有一个新闻应用程序,所以它有不同的类别,如商业,国家,州新闻等,所以我需要一个滚动栏,按钮如下图所示。

Bar with Buttons

我不知道它叫做tabbar,带按钮的栏还是其他故事板。

我搜索了一个google但却找不到它的地方,因为我不知道它叫什么

直到现在我已经尝试创建一个垂直滚动视图并添加按钮,但如果不满意我想要更好的东西..如果你找到任何GitHub项目它会很好。

我甚至尝试过分段控制,但它没有更多类别它变得越来越小所以我想要在顶部图像中显示的东西。

  

已更新

单击任何按钮,我想刷新具有类别...

内容的表格视图

标签栏无法正常工作

提前感谢您的帮助

3 个答案:

答案 0 :(得分:6)

Adrian B的评论中已经给出了答案。

我告诉你如何做到这一点。首先,它被称为标签滑动导航

使用 Carbon kit

https://github.com/melieskubrick/CarbonKitSwift

首先将元素添加到视图中。这是使用 Carbon Kit

添加的方式
override func viewDidLoad() {
    super.viewDidLoad()

    self.title = "CarbonKit"
    items = [UIImage(named: "home")!, UIImage(named: "hourglass")!, UIImage(named: "premium_badge")!, "Categories", "Top Free", "Top New Free", "Top Paid", "Top New Paid"]
    carbonTabSwipeNavigation = CarbonTabSwipeNavigation(items: items as [AnyObject], delegate: self)
    carbonTabSwipeNavigation.insertIntoRootViewController(self)
    self.style()

}

您想刷新您的新闻,因此使用Carbon Kit的委托方法 CarbonTabSwipeNavigationDelegate ,您可以刷新您的tableview。

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

        switch index {
        case 0:
            //Do your table view refresh here Business category 
        case 1:
           //Do your table view  refresh here other category 

        default:
            //Do your table view  refresh here all category  which will be default

        }

    }

信用

答案 1 :(得分:3)

根据您的更新,我认为您只能使用HMSegmentedControl并相应地更改表格视图中的内容。 HMSegmentedControl有一个indexChangeBlock属性,您可以在该属性中传递将在选择另一个选项卡时调用的块。

答案 2 :(得分:2)

您链接的图片几乎肯定是自定义控件。

它看起来有点像UITabBarController中的UITabBar,但它不是标签栏控制器。

如果我这样做,我可能会使用内置于视图控制器中的父/子视图控制器支持,并创建一个实现此功能的自定义父视图控制器。

控制本身并不难。我创建了一个自定义控件,其中包含多个标签,这些标签的颜色根据所选项目而改变,还有一个彩色条,我将设置为可以滑动到当前选择的动画。

父视图控制器将拥有选项卡控件。当所选选项卡发生更改时,选项卡控件将在父视图控制器上触发操作,并且父视图控制器将交换新的子视图控制器。

我也用搜索字符串“custom UITabBar”进行了一些搜索,找到了这个链接:

Really cool way to create custom UITabBar for iPhone app?

听起来iDevReceipes可能有一个现成的解决方案。