6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'motion-prime/views/layout.rb', line 6
def add_view(klass, options = {}, &block)
options = options.clone
bounds = if view_stack.empty?
options.delete(:parent_view).try(:bounds) || CGRectZero
else
view_stack.last.bounds
end
builder = ViewBuilder.new(klass, options)
options = builder.options.merge(calculate_frame: true, bounds: bounds)
view = builder.view
if render_target = options.delete(:render_target)
options[:bounds] = render_target.bounds
render_target.addSubview(view)
elsif view_stack.any?
view_stack.last.addSubview(view)
end
setup(view, options, &block)
view.on_added if view.respond_to?(:on_added)
view
end
|