Class: Tgios::ImagesCollectionViewBinding

Inherits:
UICollectionViewBinding show all
Includes:
PlasticCup
Defined in:
lib/tgios/images_collection_view_binding.rb

Instance Attribute Summary collapse

Attributes inherited from UICollectionViewBinding

#current_page

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from UICollectionViewBinding

#bind, #collectionView, #go_to_page, new_horizontal_collection_view, #on, #reload, #scrollViewDidEndDecelerating, #scrollViewDidScroll, #setup_cell, #view_at

Methods inherited from BindingBase

#dealloc, #hook, #prepareForRelease, #unhook

Constructor Details

#initialize(list, collection_view = nil, image_view_options = {}) ⇒ ImagesCollectionViewBinding

Returns a new instance of ImagesCollectionViewBinding.



5
6
7
8
9
10
11
# File 'lib/tgios/images_collection_view_binding.rb', line 5

def initialize(list, collection_view=nil, image_view_options={})
  super
  @image_collection_view = collection_view.nil? ? self.class.new_horizontal_collection_view : WeakRef.new(collection_view)
  @image_views = self.class.new_image_views(list, image_view_options)

  bind(@image_collection_view, @image_views)
end

Instance Attribute Details

#image_collection_viewObject

Returns the value of attribute image_collection_view.



4
5
6
# File 'lib/tgios/images_collection_view_binding.rb', line 4

def image_collection_view
  @image_collection_view
end

#image_viewsObject

Returns the value of attribute image_views.



4
5
6
# File 'lib/tgios/images_collection_view_binding.rb', line 4

def image_views
  @image_views
end

Class Method Details

.new_image_views(list, options = {}) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/tgios/images_collection_view_binding.rb', line 13

def self.new_image_views(list, options={})
  image_views = []
  list.each do |item|
    image_view = Base.style(UIImageView.new, {frame: [[0,0], [50, 50]],
                                              contentMode: UIViewContentModeScaleAspectFill,
                                              layer: {
                                                  borderWidth: 1,
                                                  borderColor: :gray.uicolor.CGColor
                                              },
                                              clipsToBounds: true}.merge(options))
    CommonUIUtility.get_image(item) do |image|
      image_view.image = image unless image.nil?
    end
    image_views << image_view
  end
  image_views
end

Instance Method Details

#list=(new_list) ⇒ Object



31
32
33
# File 'lib/tgios/images_collection_view_binding.rb', line 31

def list=(new_list)
  set_list(new_list)
end

#onPrepareForReleaseObject



42
43
44
45
# File 'lib/tgios/images_collection_view_binding.rb', line 42

def onPrepareForRelease
  @image_collection_view = nil
  @image_views = nil
end

#set_list(new_list, options = {}) ⇒ Object



35
36
37
38
39
40
# File 'lib/tgios/images_collection_view_binding.rb', line 35

def set_list(new_list, options={})
  if new_list.is_a?(Array)
    @image_views = self.class.new_image_views(new_list, options)
    reload(@image_views)
  end
end