小编Phi*_*log的帖子

iPhone的自定义选项卡栏将选项卡纵向更改为横向

我正在制作一个标签栏应用程序,我不仅想要底部的自定义栏,还想要在用户处于纵向或横向模式时更改按钮的功能.

例如,用户垂直握住iphone = 3个标签(a,b,c),但是用户侧翻电话,标签栏现在填充了2个标签(d,e),这些标签在向上/向下对齐屏幕的左侧,以便用户可以阅读它们.

我已经研究了UITabBarController类的子类化,但感觉就像我想要的那样是不可能的.我想知道...

1)我怎样才能做到这一点?

2)在将应用程序推送到App Store时,我自己的标签栏会出现问题吗?

iphone xcode objective-c uitabbarcontroller xcode4

5
推荐指数
1
解决办法
1520
查看次数

使用Knockout.js的MVVM

我正在尝试实现基于MVVM的单页面应用程序,目前正在使用框架Knockout.js来处理MVVM的viewmodel/view部分.我很困惑,因为我所看到的实现Knockout的每个例子都涉及将整个视图模型保存到数据库中.这些示例是否缺少"模型"步骤,其中视图模型与数据层模型同步,模型执行验证/服务器同步.

我想在单个页面上有多个不同的模板/视图,每个模板/视图都有不同的视图模型.我发现的另一件事是缺少knockout.js正在跨不同视图同步单个模型(而不是viewmodel).我认为每个视图共享一个巨型视图模型是不合理的,所以我认为每个视图都有自己的视图模型,但每个视图模型都会与几个应用程序范围的模型的字段同步.每个视图.

我正在处理的页面获取了一个巨大的模型(30多个字段,多层父/子关系),我认为让我的所有视图模型与此模型同步是有意义的.我调查了Knockback.js(结合了knockout.js和backbone.js)但是我最终重写了大部分函数,​​比如fetch,set,save,因为页面是从API获取数据的(我可以不只是与服务器来回同步整个模型,所以我决定反对它.

我的应用程序的可视示例:

(模型层)M | 中号

(viewmodel/view layer)VM-V | VM-V | VM-V | VM-V


另一个例子

一个示例模型是User = {firstName:"first",lastName:"last",...}

一个viewmodel只需要名字,另一个viewmodel只需要姓氏
ViewModelA = {firstName:app.User.firstName()}
ViewModelB = {firstName:app.User.lastName()}

唯一的方法是为Model和Viewmodel更改定义pub/sub系统吗?这甚至是好的/可维护的架构吗?我在这里错过了一个基本概念吗?欢迎所有建议.

javascript mvvm knockout.js

5
推荐指数
1
解决办法
2179
查看次数