Ramotion
reel-search
Swift

:octocat: ๐Ÿ” RAMReel is a UI controller that allows you to choose options from a list. Swift UI library made by @Ramotion

Last updated Jul 1, 2026
2.5k
Stars
179
Forks
5
Issues
0
Stars/day
Attention Score
71
Language breakdown
No language data available.
โ–ธ Files click to expand
README

REEL SEARCH

Reel Search is a Swift UI controller that allows you to choose options from a list


We specialize in the designing and coding of custom UI for Mobile Apps and Websites.

Stay tuned for the latest updates:


RAMReel

Swift 4.0 CocoaPods CocoaPods Carthage compatible codebeat badge Travis Twitter Donate

Requirements

  • iOS 8.0+
  • Swift 4.0

Installation

We recommend using CocoaPods to install our library.

Just put this in your Podfile:

~~~ruby pod 'RAMReel' ~~~

or Carthage users can simply add reel-search to their Cartfile:

github "Ramotion/reel-search"

Usage

In order to use our control you need to implement the following:

Types

Now you can use those types as generic parameters of type declaration of RAMReel:

~~~swift RAMReel ~~~

Values

Next you need to create an instance of RAMReel, and for that you need the following:
  • frame: CGRect: Rect, specifying where you want to put the control.
  • dataSource: DataSource: the source of data for the reel.
  • placeholder: String (optional): Placeholder text; by default, an empty string is used.
  • hook: DataSource.ResultType -> Void (optional): Action to perform on element selection, nil by default. You can add additional hooks later, if you need multiple actions performed.
Let's use it to create an instance of RAMReel:

~~~swift let ramReel = RAMReel(frame: frame, dataSource: dataSource, placeholder: placeholder, hook: hook) ~~~

Adding action hooks

To add extra actions you may append DataSource.ResultType -> Void functions to RAMReel object property hooks:

~~~swift ramReel.hooks.append { data in // your code goes here } ~~~

Putting on the view

And the final step, showing RAMReel on your view:

~~~swift ramReel.view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] yourView.addSubview(ramReel.view) ~~~

If you have visual problems, try calling prepareForViewing before showing your view.

Like this:

~~~swift override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() ramReel.prepareForViewing() } ~~~

Theming

If you want to change RAMReel look and feel, you can use theming.

To do so, you just to have to implement the Theme protocol in your class/structure and set your RAMReel object's theme property to your theme.

Or you can just use the predefined instance of type RAMTheme.

~~~swift let textColor: UIColor let listBackgroundColor: UIColor let font: UIFont

let theme = RAMTheme(textColor: textColor, listBackgroundColor: listBackgroundColor, font: font) ~~~

Docs

CocoaPods

See more at RAMReel docs


๐Ÿ“„ License

Reel Search is released under the MIT license. See LICENSE for details.

This library is a part of a selection of our best UI open-source projects.

If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com

๐Ÿ“ฑ Get the Showroom App for iOS to give it a try

Try this UI component and more like this in our iOS app. Contact us if interested.



ยฉ 2026 GitRepoTrend ยท Ramotion/reel-search ยท Updated daily from GitHub