Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bjhomer/HSImageSidebarView
A view based on the sidebar in Apple's Keynote app for iPad.
https://github.com/bjhomer/HSImageSidebarView
Last synced: about 1 month ago
JSON representation
A view based on the sidebar in Apple's Keynote app for iPad.
- Host: GitHub
- URL: https://github.com/bjhomer/HSImageSidebarView
- Owner: bjhomer
- License: mit
- Created: 2011-01-15T23:52:46.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2014-06-19T19:56:51.000Z (over 10 years ago)
- Last Synced: 2024-10-31T15:53:37.399Z (about 1 month ago)
- Language: Objective-C
- Homepage:
- Size: 260 KB
- Stars: 280
- Watchers: 9
- Forks: 39
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome - HSImageSidebarView - A view based on the sidebar in Apple's Keynote app for iPad. (etc)
- awesome - HSImageSidebarView - A view based on the sidebar in Apple's Keynote app for iPad. (etc)
README
HSImageSidebarView
==================`HSImageSidebarView` is a subclass of `UIView` for displaying a collection of images.
The images are arranged either horizontally or vertically, depending on the
dimensions of the view. It supports selection, scrolling, drag-and-drop
rearranging, and drag-and-drop deletion. The API is patterned after `UITableView`,
so it will be familiar to Cocoa Touch programmers. HSImageSidebarView works with
both iPad and iPhone interface idioms.![Sample screenshot](https://github.com/bjhomer/HSImageSidebarView/raw/master/sampleImage.png)
An `HSImageSidebarView` is created using the standard `initWithFrame:` method
on `UIView`.// Create an 80-pixel sidebar on the left side of the screen
HSImageSidebarView *sidebar = [[HSImageSidebarView alloc] initWithFrame:CGRectMake(0, 0, 80, 1004)];
sidebar.delegate = self;
[parentView addSubview:sidebar];
[sidebar release];It can also be created in Interface Builder by adding a `UIView` and then setting
its class (in IB) to `HSImageSidebarView`.The image sidebar receives all its information through delegate methods. The
two required methods are these:- (NSUInteger)countOfImagesInSidebar:(HSImageSidebarView *)sidebar;
- (UIImage *)sidebar:(HSImageSidebarView *)sidebar imageForIndex:(NSUInteger)anIndex;When a user taps, moves, or deletes an image, the delegate can be notified through
one of these methods:- (void)sidebar:(HSImageSidebarView *)sidebar didTapImageAtIndex:(NSUInteger)anIndex;
- (void)sidebar:(HSImageSidebarView *)sidebar didMoveImageAtIndex:(NSUInteger)oldIndex toIndex:(NSUInteger)newIndex;
- (void)sidebar:(HSImageSidebarView *)sidebar didRemoveImageAtIndex:(NSUInteger)anIndex;
`HSImageSidebarView` requires iOS 4.0 or later. A sample project is included to
demonstrate usage.To Do
-----The following are features which I would like to see added, but which haven't
been completed yet:- Expose selection color property
- Enable/disable drag-to-move
- Enable/disable drag-to-delete
- Be smarter about calculating the image frame when the the aspect fit
doesn't fill the whole frame. (This mostly applies when trying to position
a popover correctly.)
- Add support for indentation levels
- Add support for numbering images
- Add support for multiple selection