• Stars
    star
    687
  • Rank 65,799 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created almost 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Pinterest-like segment control with masking animation.

PinterestSegment

A Pinterest-like segment control with masking animation.

Xcode 9.0+ iOS 8.0+ Swift 4.0+ Build Status CocoaPods Carthage compatible License MIT

Requirements

  • iOS 8.0+
  • Xcode 9.0
  • Swift 4.0

Installation

CocoaPods

You can use CocoaPods to install PinterestSegment by adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!
pod 'PinterestSegment'

To get the full benefits import PinterestSegment wherever you import UIKit

import UIKit
import PinterestSegment

Carthage

Create a Cartfile that lists the framework and run carthage update. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/PinterestSegment.framework to an iOS project.

github "tbxark/PinterestSegment"

Manually

  1. Download and drop PinterestSegment.swift in your project.
  2. Congratulations!

Usage example

let  style = PinterestSegmentStyle()

style.indicatorColor = UIColor(white: 0.95, alpha: 1)
style.titleMargin: CGFloat = 15
style.titlePendingHorizontal: CGFloat = 14
style.titlePendingVertical: CGFloat = 14
style.titleFont = UIFont.boldSystemFont(ofSize: 14)
style.normalTitleColor = UIColor.lightGray
style.selectedTitleColor = UIColor.darkGray

let segment = PinterestSegment(frame: CGRect(x: 20, y: 200, width: w - 40, height: 40), style: style, titles: ["Everything", "Geek", "Humor", "Art", "Food", "Home", "DIY", "Wemoent' Style", "Man's Style", "Beauty", "Travel"])

segment.valueChange = { index in
  // Do something here
}

You can also add icon for each title, Just like the blow demo gif

@IBOutlet weak var ibSegment: PinterestSegment!

var titles = [PinterestSegment.TitleElement]()
for i in 1...7 {
    guard let image = UIImage(named: "icon_\(i)"),
    let selectedImage = image.maskWithColor(color: ibSegment.style.selectedTitleColor),
    let normalImage = image.maskWithColor(color: ibSegment.style.normalTitleColor)  else { continue }
    titles.append(PinterestSegment.TitleElement(title: "Face-\(i)", selectedImage: selectedImage, normalImage: normalImage))
}
ibSegment.setRichTextTitles(titles)

Article

   Fix automaticallyAdjustsScrollViewInsets bug in PinterestSegment https://tbxark.com/2016/12/08/2016-12-08-Swift-Pinterst/

Release History

  • 1.2.0 support swift 4.0

  • 1.0.1 fix bug

  • 1.0.0 first commit

Contribute

We would love for you to contribute to PinterestSegment, check the LICENSE file for more info.

Meta

TBXark – @tbxark[email protected]

Distributed under the MIT license. See LICENSE for more information.

https://github.com/TBXark

More Repositories

1

ChatGPT-Telegram-Workers

Deploy your own Telegram ChatGPT bot on Cloudflare Workers with ease.
TypeScript
3,466
star
2

TKRubberIndicator

A rubber animation pagecontrol
Swift
1,439
star
3

TKSwitcherCollection

An animation switch collection
Swift
914
star
4

Ruler

An AR ruler app can measure length & area
Swift
246
star
5

mail2telegram

Forward email to telegram with Cloudflare Email Routing
JavaScript
218
star
6

TKRadarChart

A customizable radar chart in Swift
Swift
210
star
7

TKDotSegment

TKDotSegment is a segment with dot animation
Swift
104
star
8

PasswordX

Offline password manager for iOS/macOS
Swift
29
star
9

tbxark.github.io

TBXark' blog
JavaScript
25
star
10

poe-telegram-bot

A lightweight poe chatbot for telegram
Python
18
star
11

shell-ask

Ask LLM directly from your terminal using a pure bash script
Shell
18
star
12

github-backup

A simple tool to backup github repository to gitea or other provider.
Go
16
star
13

ScrollViewThumbnail

Quickly create thumbnails for zoomed views in UIScrollview with just a single line of code.
Swift
14
star
14

g4vercel

Go web server for vercel
Go
10
star
15

TKSectorProgressView

An simple animation sector progress view
Swift
10
star
16

numberbarn2telegram

Forward the text message from NumberBarn to Telegram.
JavaScript
8
star
17

chatgpt-prompt-helper

A Tampermonkey script for quickly copying prompts in the web version of ChatGPT.
JavaScript
8
star
18

telegram-bot-vapor-example

Create telegram bot by swift
Swift
7
star
19

testmail-viewer

An online preview tool for Testmail.
Vue
6
star
20

JSONElement

JSONElement makes it easier and safer to use JSON
Swift
6
star
21

FlexLayout

Flex layout library similar to SwiftUI
Swift
6
star
22

chat-bot-go

A lightweight chatgpt bot for telegram
Go
5
star
23

SwiftCache

A pure swift cache framework
Swift
4
star
24

TrieRouter

A simple framework for application routing.
Swift
4
star
25

swift-telegram-bot-api

Swift Telegram Bot API and Telegram Bot API Generator
Swift
3
star
26

NetworkService

NetworkService with Alamofire and RxSwift
Swift
3
star
27

my-leetcode-code

LeetCode is a platform for preparing technical coding interviews.
Swift
3
star
28

vercel-proxy

Simple http proxy for Vercel.
Go
3
star
29

proxy-config-worker

[Deprecated] An online proxy configuration adaptation tool for Cloudflare worker.
JavaScript
2
star
30

autorun

autorun is a tool that listens for file changes and automatically executes commands.
Go
2
star
31

TBXark

Hi there, I'm TBXark~
2
star
32

rmock

Modify HTTP JSON responses without needing HTTP capture and MitM.
JavaScript
2
star
33

PiPlayground

可以由网页控制的提词器
Swift
2
star
34

RxSwiftLearnDemo

This is example code for RxSwift
Swift
2
star
35

MinesWeeping

A simple MinesWeeping Game
Swift
2
star
36

cloudflare-worker-adapter

Run your script without Cloudflare Workers.
TypeScript
2
star
37

gitea-mirror-reauth

Quickly modify the authorization information of a Gitea mirror repository.
Go
1
star
38

redmine-summary

redmine 周报生成工具
JavaScript
1
star
39

tic-tac

三子棋游戏,每人最多只能下三颗棋子,当下第四颗棋子时,最先那一颗棋子会消失
JavaScript
1
star
40

temporary-encrypted-clipboard

Clipboard encryption script for secure password transfer across devices.
JavaScript
1
star
41

dart_router

A simple framework for application routing.
Dart
1
star
42

mweb-export

A tool for generating directories from MWeb files.
Go
1
star
43

TKPlaceholderTextView

A textview with placeholder
Swift
1
star
44

Observable

A simple observer framework in Swift
Swift
1
star
45

Watermark

Swift
1
star
46

YoukuInfo

A simple youku crawler
HTML
1
star
47

azure2openai

A simple tool to proxy OpenAI‘s request to Azure OpenAI Service
Go
1
star
48

telegram-bot-workers-template

The basic template for running a Telegram Bot on Cloudflare Workers.
TypeScript
1
star