SSUIViewMiniMe
A miniature replica of your UIView with an indicator of your location.
Overview
SSUIViewMiniMe takes your UIView and creates a small version of it with an indicator of your location on the original UIView.
The example shown in the GIF above is in the SSUIViewMiniMeDemo/
directory:
Features
- The MiniMe UIView is responsive to touch. Dragging your finger on it will move the actual UIScrollView
- The MiniMe UIView indicator will track the current movment in the UIScrollView
- The MiniMe UIView will draw on it self any changes made in the UIScrollView
All those features are shown in the GIF above (might take a few seconds to load)
Requirements
- iOS 5+ (Should work on 4 if you are not using a StoryBoard, not tested)
Screenshot (The GIF above will explain a lot more)
Why?
In one of my projects I was asked to create a simple UI for seats selection in a movie theater. With the iPhone screen relatively small I had to find a way to zoom in on a view and still let the user know about his current location. I ended up using something much simpler for the seat selection project and found a lot of other uses for SSUIViewMiniMe class.
Installation With CocoaPods
Edit your Podfile and add SSUIViewMiniMe
:
pod 'SSUIViewMiniMe'
Manual Installation
Just drag SSUIViewMiniMe.h & m to your project.
How to use
import SSUIViewMiniMe.h to your project.
miniMeView = [[SSUIViewMiniMe alloc]initWithView:yourView withRatio:4]; // ratio is the size of the miniMe view you want to create. UIView size \ ratio = UIViewMiniMe size
[self.view addSubview:miniMeView];
That's it!
If you want to use the delegate methods (optional) you will also need to add
@interface ViewController () <SSUIViewMiniMeDelegate>
...
miniMeView.delegate = self;
SSUIViewMiniMeDelegate Protocols
- (void)enlargedView:(SSUIViewMiniMe *)enlargedView willBeginDragging:(UIScrollView *)scrollView;
Tells the delegate when scrolling is about to start.
- (void)enlargedView:(SSUIViewMiniMe *)enlargedView didScroll:(UIScrollView *)scrollView;
Tells the delegate when the user scrolls the content view.
- (void)enlargedView:(SSUIViewMiniMe *)enlargedView didEndDragging:(UIScrollView *)scrollView;
Tells the delegate when dragging ended.
- (void)enlargedView:(SSUIViewMiniMe *)enlargedView willBeginDecelerating:(UIScrollView *)scrollView;
Tells the delegate that scrolling movement is starting to decelerate.
- (void)enlargedView:(SSUIViewMiniMe *)enlargedView didEndDecelerating:(UIScrollView *)scrollView;
Tells the delegate that the scroll view has ended decelerating the scrolling movement.
ToDo:
- Rotation
- Other stuff
The MIT License (MIT)
Copyright (c) sSegev