促销屏幕滞后
ProMotion Screen lag
我正在开发一个包含火车站列表的应用程序,当您从列表中 select 一个车站时,应该会有一个显示更多信息的视图。
对于我正在使用的列表 PM::TableScreen
在那里我有这个方法,当用户 select 是一个电台时被调用:
def select_station(station)
open StationScreen.alloc.initWithStation(station)
end
以及对应的StationScreen
class StationScreen < UIViewController
def initWithStation(station)
init.tap do
@station = station
end
end
def loadView
self.title = @station[:name]
@layout = StationLayout.new
self.view = @layout.view
end
end
这会产生以下结果:
单击后退按钮时效果流畅。
现在,我想切换到 ProMotion::Screen
StationScreen 变为:
class StationScreen < PM::Screen
attr_accessor :station
def on_load
self.title = @station[:name]
@layout = StationLayout.new
self.view = @layout.view
end
end
和select_station方法:
def select_station(station)
open StationScreen.new(station: station)
end
现在的背影很奇怪。请注意图像如何仍然显示一段时间,然后消失。
我做错了什么以及如何使用 ProMotion::Screen
正确实施它?
更新 1: 这修复了它。 ProMotion 的例子是建议错误的东西。
def load_view
self.title = @station[:name]
@layout = StationLayout.new
self.view = @layout.view
end
这样做正确吗?
经过一些实验,我明白了。解决方法不止一种:
1) 与on_load
。这里的关键是告诉布局根视图是什么。然后它可以正确地计算出如何正确地制作后退动画。如果你不给它根,就像我在开始时所做的那样 - 背部动画可能会中断。 (至少我是这么理解的)。
def on_load
@layout = StationLayout.new(root: self.view)
@layout.build
end
2) 与 load_view
。在这里,出于某种原因,它可以在不指定根视图的情况下正常工作。我想当您将 self.view 分配给布局视图时它会自动发生。
def load_view
@layout = StationLayout.new
self.view = @layout.view
end
我最终使用了 on_load
。
我正在开发一个包含火车站列表的应用程序,当您从列表中 select 一个车站时,应该会有一个显示更多信息的视图。
对于我正在使用的列表 PM::TableScreen
在那里我有这个方法,当用户 select 是一个电台时被调用:
def select_station(station)
open StationScreen.alloc.initWithStation(station)
end
以及对应的StationScreen
class StationScreen < UIViewController
def initWithStation(station)
init.tap do
@station = station
end
end
def loadView
self.title = @station[:name]
@layout = StationLayout.new
self.view = @layout.view
end
end
这会产生以下结果:
单击后退按钮时效果流畅。
现在,我想切换到 ProMotion::Screen
StationScreen 变为:
class StationScreen < PM::Screen
attr_accessor :station
def on_load
self.title = @station[:name]
@layout = StationLayout.new
self.view = @layout.view
end
end
和select_station方法:
def select_station(station)
open StationScreen.new(station: station)
end
现在的背影很奇怪。请注意图像如何仍然显示一段时间,然后消失。
我做错了什么以及如何使用 ProMotion::Screen
正确实施它?
更新 1: 这修复了它。 ProMotion 的例子是建议错误的东西。
def load_view
self.title = @station[:name]
@layout = StationLayout.new
self.view = @layout.view
end
这样做正确吗?
经过一些实验,我明白了。解决方法不止一种:
1) 与on_load
。这里的关键是告诉布局根视图是什么。然后它可以正确地计算出如何正确地制作后退动画。如果你不给它根,就像我在开始时所做的那样 - 背部动画可能会中断。 (至少我是这么理解的)。
def on_load
@layout = StationLayout.new(root: self.view)
@layout.build
end
2) 与 load_view
。在这里,出于某种原因,它可以在不指定根视图的情况下正常工作。我想当您将 self.view 分配给布局视图时它会自动发生。
def load_view
@layout = StationLayout.new
self.view = @layout.view
end
我最终使用了 on_load
。