iPadiPhone多方位最佳实践?

iPadiPhone多方位最佳实践?,第1张

概述我想将我的观点转换为适合任何方向的工作(特别是因为它推荐用于iPad).我一直在用IB来解决问题,但我不确定如何最好地进行. 我理想的是在IB中旋转视图,重做布局,并将两个方向保存到同一个XIB,以便视图自动知道方向更改时要做什么.这似乎不可能. 我知道当方向改变时我可以在代码中重新排列视图,但是然后使用IB没有多大意义,因为我的一个主要优点是将所有丑陋的布局代码从我的逻辑中分离出来. 其他人为此 我想将我的观点转换为适合任何方向的工作(特别是因为它推荐用于iPad).我一直在用IB来解决问题,但我不确定如何最好地进行.

我理想的是在IB中旋转视图,重做布局,并将两个方向保存到同一个XIB,以便视图自动知道方向更改时要做什么.这似乎不可能.

我知道当方向改变时我可以在代码中重新排列视图,但是然后使用IB没有多大意义,因为我的一个主要优点是将所有丑陋的布局代码从我的逻辑中分离出来.

其他人为此做了什么?他们只是设计他们的视图,以便UIVIEwautoResizing标志可以适当地处理旋转吗?他们是否有针对每个方向的多个视图,并以某种方式平滑地切换它们?

解决方法 我在这里(以及关于这个主题的StackOverFlow上的其他地方)找到了这些信息,这让我想到了我以前的答案.如果你有很多顶级对象,这就变得乏味了.

然后,我想到你可以创建一个“帮助”对象,所以我创建了一个项目来演示这种技术.基本上,帮助者在视图中具有针对每个感兴趣对象的出口. VIEwController本身有两个Helper对象(一个用于p,一个用于l),并且您在NIB中实例化它们.在方向更改时,将视图控制器的帮助程序指针切换到相应的帮助程序,然后更新self.vIEw.它非常简单(这个文字更难).

那么,你会如何开始?如果您事先知道需要两个单独的视图,那么它会有所帮助.知道了这一点后,在下面引用的项目中使用Helper模板,对其进行调整,将其添加到NIB中,然后将帮助连接到纵向视图中的相应对象. VIEw Controller本身只是对两个助手的引用,以及一个“curHelper”指针. Helper ivars是公共的,因此VIEw Controller可以引用诸如“curHelper-> label1.text = …”之类的项目 – 成本是单指针解除引用(也可以只使用属性 – 您的调用).

此外,您可以在任一视图中直接连接来自对象的IBActions.所以,让我们来看看:

>创建NIB
>创建一个Helper对象,并在名为Portrait的nib中实例化一个
>将所有IBOutlets添加到Helper对象,然后处理dealloc,vIEwWillUnload
>在视图控制器中正常放置IBActions
>将NIB – Helper->纵向视图插座, *** 作连接到VIEw Controller
>让所有人都在肖像工作
>添加一个新的Helper对象,称之为Landscape
>复制当前纵向视图,旋转它并保存
>将景观助手的出口连接到新的景观视图(已为您设置的动作!)

显然你需要从现在开始进行重复更改,但在任何双笔尖方案中你都必须这样做.在上述技术中,所有插座名称保持不变.

视图控制器需要在接收到它时向两个助手发送“vIEwDIDUnload”,并释放助手(然后释放他们的出口).

注意:我只是把它放在一起看看它看起来如何.如果你想看到代码和一个非常小的演示,你可以从名为Helpers.zip的iPhone文件夹中的public dot me dot com slash dhoerl下载它.如果需要,我会更新此文本和此文本.

总结

以上是内存溢出为你收集整理的iPad/iPhone多方位最佳实践?全部内容,希望文章能够帮你解决iPad/iPhone多方位最佳实践?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存