2016-03-08 33 views
0

所以我有这个计时器应用程序,我正在开发,并有一个设置中,从几分钟:秒变为几小时:分钟:秒。这意味着我需要在设置更改后调整应用的UI。考虑到我已经对UI有限制,我怎么能这样做呢?我怎样才能有两个视图布局之间切换? (斯威夫特)

当它被设置为分:秒时,显示此: minutes:seconds

,然后当它被设置为小时:分钟:秒,我想在UI看起来像这样:hours:minutes:seconds

基本上我想知道在动作发生时更改应用程序UI的最有效方法。提前感谢你!

回答

0

创建两个自定义类 -

MinutesView 
HoursView 

无论从UIView的继承进行。对于每一堂课,你都需要他们的内容,这是他们的子视图。您可以通过编程或通过XIB来执行此操作。这并不重要。 这些子类内部实现了两个或三个子视图的布局。

这两个类都会有一个时间变量。在两者上实现一个属性观察者。一旦设定了新时间,请更新代表时间数字的标签。

一旦你有两个工作。把它们放到你的主场景中,然后按照你的意愿放置它们。

在两种模式之间切换时,您必须做的唯一事情是在两者上设置.hidden属性。显然,当一个人隐藏时,另一个人不是,反之亦然。