ASSliderSegmentControl 0.5.5

ASSliderSegmentControl 0.5.5

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最近发布时间2016年5月
SPM支持SPM

svetlanama维护。



  • Svitlana Moiseyenko和Alexander Vasileyko

ASSliderSegmentControl

功能

  • [x] 可定制UI
  • [x] 选择器行动画
  • [x] 与页面滚动交互
  • [x] 随滚动位置变化

演示

Alt text

要求

  • Swift
  • Swift2

安装

ASSliderSegmentControl通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中

pod "ASSliderSegmentControl"

使用

要运行示例项目,请克隆仓库,并在Example目录中先运行pod install命令。

创建ASSliderSegmentControl

Alt text

// create ASSliderSegmentControl with titles
lazy var segmentControl: ASSliderSegmentControl = {
    let segmentControl = ASSliderSegmentControl(frame:
      CGRect( x: 0, y: 0, width: self.view.bounds.width, height: self.navigationView.bounds.height),
        titleItems: [
            "Discover",
            "Home",
            "Settings"
      ])
    return segmentControl
  }()

Alt text

// create ASSliderSegmentControl with images
lazy var segmentControlImage: ASSliderSegmentControl = {
   let segmentControl = ASSliderSegmentControl(frame:
   CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.navigationView.bounds.height),
        imageItems: [
             UIImage(named: "search")!,
             UIImage(named: "home")!,
             UIImage(named: "settings")!
            ],
        imageItemsHighlighted: [
             UIImage(named: "search_selected")!,
             UIImage(named: "home_selected")!,
             UIImage(named: "settings_selected")!
            ])
   return segmentControl
   }()

将控件添加到UI

navigationView.addSubview(segmentControl)

自定义控件外观

// remove separator line 
segmentControl.displaySeparator = false

// remove selected line 
segmentControl.isSelectorLine = false 

//Customize control appearance
segmentControl.setAppearance (
          UIColor.clearColor(),
          selectedBackgroundColor: UIColor.clearColor(),
          textColor: UIColor(named: UIColor.AppColor.LinkWater).colorWithAlphaComponent(0.3),
          font: UIFont(name: "Helvetica", size: 17)!,
          selectedTextColor: UIColor(named: UIColor.AppColor.BisonHide),
          selectedFont:UIFont(name: "Helvetica", size: 17)!,
          bottomLineColor: UIColor(named: UIColor.AppColor.LinkWater),
          selectorColor: UIColor(named: UIColor.AppColor.BisonHide),
          bottomLineHeight: 0.5,
          selectorHeight: 3
      )

// Or just change some parts like background color, text color, font, titleEdges, imageEdges
segmentControl.changeBackgroundControlStyle(UIColor.clearColor(), selectedBackgroundColor: UIColor(named:UIColor.AppColor.LinkWater).colorWithAlphaComponent(0.1))

自定义UI

// To react control's selector on page scrolling 
  func pageViewController(pageViewController: PageViewController, didUpdateScroll scrollView: UIScrollView) {
    segmentControl.moveSelectorLine(scrollView, targetView: view)
  }

更新约束

// Additionaly if it need you can update constraints manually
  override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    segmentControl.updateControlConstraints()
  }

作者

https://github.com/alexnodejs

https://github.com/svetlanama

相关链接

https://github.com/svetlanama/ASPageControllerSample

引用链接

https://github.com/yemeksepeti/YSSegmentedControl

许可

ASSliderSegmentControl遵循MIT许可。有关更多信息,请参阅LICENSE文件。