gallery_motion 1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +67 -0
- data/lib/gallery_motion.rb +8 -0
- data/lib/project/gallery.rb +4 -0
- data/lib/project/libs/control_gallery.rb +12 -0
- data/lib/project/views/ui_page_control_gallery.rb +10 -0
- data/lib/project/views/ui_scroll_gallery.rb +25 -0
- metadata +64 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a53f939fc278c8c6964efd8c8b5c67eab4bfdc35
|
4
|
+
data.tar.gz: 8478d713ea284bf25d6e24b205d5c7e732a66ecf
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f7975e58c367423e95dc94b70bf5e2e2f6cfca4a914289cbe7f4534f7d91bdf6a5f4cb3c7461990de647da6a83c47417f32b45e5a05e1e9d7c371a96165614d7
|
7
|
+
data.tar.gz: 936a9c14774d48e2239bd5a1af94e656b6e848f95cc2a8c0b8404ddf38ec21fe642206c7649fc3cdc63fe21f922946ddd5013a80a1fd4caa3e7a6350c6a23485
|
data/README.md
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# gallery
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'gallery'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install gallery
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
class GalleryViewController < UIViewController
|
23
|
+
include ControlGallery
|
24
|
+
def viewDidLoad
|
25
|
+
@scroll_gallery = UIScrollGallery.alloc.initWithNumImages(images.size,frame: frame_scroll)
|
26
|
+
@scroll_gallery.delegate = self
|
27
|
+
@scroll_gallery.add_images(images)
|
28
|
+
view.addSubview(@scroll_gallery)
|
29
|
+
|
30
|
+
#This you can edit as you wish
|
31
|
+
center = CGPointMake(UIScreen.mainScreen.bounds.size.width / 2, 305)
|
32
|
+
frame = [[0, 290], [UIScreen.mainScreen.bounds.size.width, 50]]
|
33
|
+
numberOfPages = images.size
|
34
|
+
|
35
|
+
@page_control = UIPageControlGallery.alloc.initWithCenter(center,frame: frame,numberOfPages: numberOfPages)
|
36
|
+
@page_control.addTarget(self, action:'pageTurn:', forControlEvents:UIControlEventValueChanged)
|
37
|
+
view.addSubview(@page_control)
|
38
|
+
end
|
39
|
+
|
40
|
+
#this methods are important
|
41
|
+
def scroll_gallery
|
42
|
+
@scroll_gallery
|
43
|
+
end
|
44
|
+
|
45
|
+
def page_control
|
46
|
+
@page_control
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
# options by users....
|
51
|
+
def images
|
52
|
+
['image1.png','image2.png']
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def frame_scroll
|
57
|
+
[[0,46],[UIScreen.mainScreen.bounds.size.width,380]]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
```
|
61
|
+
## Contributing
|
62
|
+
|
63
|
+
1. Fork it
|
64
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
65
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
66
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
67
|
+
5. Create new Pull Request
|
@@ -0,0 +1,8 @@
|
|
1
|
+
unless defined?(Motion::Project::Config)
|
2
|
+
raise "This file must be required within a RubyMotion project Rakefile."
|
3
|
+
end
|
4
|
+
|
5
|
+
lib_dir_path = File.dirname(File.expand_path(__FILE__))
|
6
|
+
Motion::Project::App.setup do |app|
|
7
|
+
app.files.unshift(Dir.glob(File.join(lib_dir_path, "project/**/*.rb")))
|
8
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module ControlGallery
|
2
|
+
def scrollViewDidScroll(sender)
|
3
|
+
pageWidth = scroll_gallery.frame.size.width;
|
4
|
+
scroll_gallery.setContentOffset( CGPointMake(scroll_gallery.contentOffset.x, 0) )
|
5
|
+
page = ((scroll_gallery.contentOffset.x - pageWidth / 2) /pageWidth) + 1
|
6
|
+
page_control.currentPage = page;
|
7
|
+
end
|
8
|
+
|
9
|
+
def pageTurn(pageControl)
|
10
|
+
scroll_gallery.setContentOffset( CGPointMake(UIScreen.mainScreen.bounds.size.width * pageControl.currentPage, 0) )
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class UIPageControlGallery < UIPageControl
|
2
|
+
def initWithCenter(center,frame: frame,numberOfPages: numberofPages)
|
3
|
+
page_control = UIPageControlGallery.alloc.init
|
4
|
+
page_control.center = center
|
5
|
+
page_control.frame = frame
|
6
|
+
page_control.numberOfPages = numberofPages
|
7
|
+
page_control.currentPage = 0
|
8
|
+
page_control
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class UIScrollGallery < UIScrollView
|
2
|
+
def initWithNumImages(num_images,frame: frame)
|
3
|
+
scrollView = UIScrollGallery.alloc.init
|
4
|
+
scrollView.frame = frame
|
5
|
+
scrollView.pagingEnabled = true;
|
6
|
+
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * num_images, scrollView.frame.size.height);
|
7
|
+
scrollView.showsHorizontalScrollIndicator = true
|
8
|
+
scrollView.showsVerticalScrollIndicator = false
|
9
|
+
scrollView.maximumZoomScale = 1.0
|
10
|
+
scrollView.minimumZoomScale = 1.0
|
11
|
+
scrollView.clipsToBounds = true
|
12
|
+
scrollView.scrollsToTop = false
|
13
|
+
scrollView
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_images(images)
|
17
|
+
images.each_with_index do |i, x|
|
18
|
+
image = UIImageView.alloc.initWithFrame([[UIScreen.mainScreen.bounds.size.width * x, 0], [UIScreen.mainScreen.bounds.size.width, 290]])
|
19
|
+
image.image = UIImage.imageNamed(i)
|
20
|
+
self.addSubview(image)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gallery_motion
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.0'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- daniel
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-01-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description: easy implementation for a scrollable gallery in rubymotion
|
28
|
+
email:
|
29
|
+
- xzdasx@gmail.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- README.md
|
35
|
+
- lib/gallery_motion.rb
|
36
|
+
- lib/project/gallery.rb
|
37
|
+
- lib/project/libs/control_gallery.rb
|
38
|
+
- lib/project/views/ui_page_control_gallery.rb
|
39
|
+
- lib/project/views/ui_scroll_gallery.rb
|
40
|
+
homepage: ''
|
41
|
+
licenses:
|
42
|
+
- ''
|
43
|
+
metadata: {}
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options: []
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
requirements: []
|
59
|
+
rubyforge_project:
|
60
|
+
rubygems_version: 2.2.1
|
61
|
+
signing_key:
|
62
|
+
specification_version: 4
|
63
|
+
summary: ''
|
64
|
+
test_files: []
|