motion-imager 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f6d2878f59fe01cecde3fbf9ad89433797a22d6
4
- data.tar.gz: 4d2ab3633368bebf2ae9412a388fa0b229618bb5
3
+ metadata.gz: cfb8660e5b7e2923e6553d2d39c0243cb7cbc37d
4
+ data.tar.gz: 45f312075a01c0d77c184fc35fdb80ccfcf08fd6
5
5
  SHA512:
6
- metadata.gz: 7e6387e8a8d39a8fa5c2efbed5c03d477ab9d4e3a00ca91fbce00cc54e6bc66ea2d2df7d4432c7ee4847970862497f769edaedf50b470d0bd1ddee1dd3bb623e
7
- data.tar.gz: 2dbcc3f1d147930cdcef0013f4fb7d60ee3efcf3d26a82d607400fdcba331b2c1ff400143b28a9870671b92765e49955b2f444c89e92815fc67ec98ad344649b
6
+ metadata.gz: 230ab1063fd9a6ba1f9dc9aad9757d30a778e7f9f41794b0e30af5ebd3e238aad6f1a8a35226fa2ac31d609d36810f7cdcfe6f95921ffa7fd8282a8504e188c7
7
+ data.tar.gz: 965d37cd53748ca19469bfa55e2a92480da2b13afc053d91a9aabec68f74129b55a98040df00c0b2f0644152b091c41b15720990bd39683bd8d95abf0c29aace
data/README.md CHANGED
@@ -1,20 +1,14 @@
1
1
  # motion-imager
2
2
 
3
- motion-imager is a RubyMotion DSL in top of [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) allowing you to easily create a "light-box" type view for users to view an image and interact with it.
3
+ motion-imager is a RubyMotion DSL in top of [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) by Jared Sinclair allowing you to easily create a "light-box" type view for users to view an image and interact with it.
4
4
 
5
- ## Installation
6
-
7
- Add this line to your application's Gemfile:
8
-
9
- gem 'motion-imager'
10
-
11
- And then execute:
5
+ ![Example](/resources/demo.gif?raw=true)
12
6
 
13
- $ bundle
14
-
15
- Or install it yourself as:
7
+ ## Installation
16
8
 
17
- $ gem install motion-imager
9
+ * Add `gem 'motion-imager'` to your gemfile
10
+ * run `bundle`
11
+ * run `rake pod:install`
18
12
 
19
13
  ## Usage
20
14
 
@@ -24,7 +18,7 @@ Using a UIImage:
24
18
  MotionImager.new({
25
19
  image: UIImage.imageNamed('something'),
26
20
  presenting_from: WeakRef.new(self),
27
- })
21
+ }).show
28
22
  ```
29
23
 
30
24
  Using a URL:
@@ -35,7 +29,7 @@ MotionImager.new({
35
29
  url: 'https://www.google.com/images/srpr/logo11w.png',
36
30
  placeholder: 'my_placeholder_image',
37
31
  presenting_from: WeakRef.new(self),
38
- })
32
+ }).show
39
33
 
40
34
  ```
41
35
 
@@ -47,8 +41,21 @@ MotionImager.new({
47
41
  transition: :original,
48
42
  mode: :alt_text,
49
43
  text: "This is a cool image",
44
+ }).show
45
+
46
+ ```
47
+
48
+ Manually dismiss the lightbox:
49
+
50
+ ```ruby
51
+ mi = MotionImager.new({
52
+ image: UIImage.imageNamed('something'),
53
+ presenting_from: WeakRef.new(self),
50
54
  })
55
+ mi.show
51
56
 
57
+ # some time later:
58
+ mi.dismiss # mi.hide will work too!
52
59
  ```
53
60
 
54
61
  Documentation for all available options:
@@ -1,38 +1,44 @@
1
1
  class MotionImager
2
2
 
3
3
  def initialize(args={})
4
- show(args)
4
+ @args = args
5
5
  end
6
6
 
7
- def show(args={})
8
- controller(args).showFromViewController(args[:presenting_from],
9
- transition: transitions[args[:transition]] || JTSImageViewControllerTransition_FromOriginalPosition
7
+ def show
8
+ @c = controller
9
+ @c.showFromViewController(@args[:presenting_from],
10
+ transition: transitions[@args[:transition]] || JTSImageViewControllerTransition_FromOriginalPosition
10
11
  )
11
12
  end
12
13
 
13
- def controller(args = {})
14
- JTSImageViewController.alloc.initWithImageInfo(image_info(args),
15
- mode: modes[args[:mode]] || JTSImageViewControllerMode_Image,
16
- backgroundStyle: backgrounds[args[:background]] || JTSImageViewControllerBackgroundStyle_Scaled
14
+ def hide(animated = true)
15
+ @c.dismiss(animated) if @c
16
+ end
17
+ alias :dismiss :hide
18
+
19
+ def controller
20
+ JTSImageViewController.alloc.initWithImageInfo(image_info,
21
+ mode: modes[@args[:mode]] || JTSImageViewControllerMode_Image,
22
+ backgroundStyle: backgrounds[@args[:background]] || JTSImageViewControllerBackgroundOption_Scaled
17
23
  )
18
24
  end
19
25
 
20
- def image_info(args = {})
26
+ def image_info
21
27
  JTSImageInfo.new.tap do |i|
22
- if args[:image]
23
- args[:image] = UIImage.imageNamed(args[:image]) if args[:image].is_a?(String)
24
- i.image = args[:image]
25
- elsif args[:url]
26
- args[:url] = NSURL.URLWithString(args[:url]) if args[:url].is_a?(String)
27
- if args[:placeholder]
28
- args[:placeholder] = UIImage.imageNamed(args[:placeholder]) if args[:placeholder].is_a?(String)
29
- i.placeholderImage = args[:placeholder]
28
+ if @args[:image]
29
+ @args[:image] = UIImage.imageNamed(@args[:image]) if @args[:image].is_a?(String)
30
+ i.image = @args[:image]
31
+ elsif @args[:url]
32
+ @args[:url] = NSURL.URLWithString(@args[:url]) if @args[:url].is_a?(String)
33
+ if @args[:placeholder]
34
+ @args[:placeholder] = UIImage.imageNamed(@args[:placeholder]) if @args[:placeholder].is_a?(String)
35
+ i.placeholderImage = @args[:placeholder]
30
36
  end
31
- i.imageURL = args[:url]
37
+ i.imageURL = @args[:url]
32
38
  end
33
- i.altText = args[:text] if args[:text]
34
- i.referenceRect = args[:rect] if args[:rect]
35
- i.referenceView = args[:view] if args[:view]
39
+ i.altText = @args[:text] if @args[:text]
40
+ i.referenceRect = @args[:rect] if @args[:rect]
41
+ i.referenceView = @args[:view] if @args[:view]
36
42
  end
37
43
  end
38
44
 
@@ -1,3 +1,3 @@
1
1
  module MotionImager
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion-imager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Rickert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-14 00:00:00.000000000 Z
11
+ date: 2015-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: motion-cocoapods
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ProMotion
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: 'An interactive iOS image viewer that does it all: double tap to zoom,
42
56
  flick to dismiss, et cetera.'
43
57
  email: