如何创建iPhone主屏幕等图标网格?

Nic*_*yle 11 iphone cocoa-touch uibutton uitableview quartz-graphics

我应该如何在iPhone上创建类似于Springboard(主屏幕)的UI?我想要一个均匀间隔的按钮网格和图像,我可以响应按钮.

UITable是否合适?我应该使用普通的UIView并在DrawRect中手动定位图标吗?是否有替代方案可以自动均匀分隔按钮,允许重新组织,并根据iPhone方向调整布局?

我来自C#/ Winforms背景,现在我正在使用2.2.1标题在Open Toolchain上开始iPhone开发.

Kri*_*son 6

我写了一些示例代码来做这样的事情.请参阅我的Tiles博客条目,或者只需下载代码:Tiles-v1.0.zip.

我的代码将图标创建为核心动画层,而不是UIViews,但确实演示了如何检测点击并允许重新组织图标.它不处理方向更改.


Aug*_*ust 2

您需要将图标(某种 UIView)添加为“Springboard”视图的子视图。不需要自定义绘图,而 UITable 是绝对错误的方法。您只需要进行数学计算即可正确放置它们(通过设置它们的框架)。

  • UITable 非常适合列表。每个对象都在自己的行中。不过,UIView 允许您布局自己的网格,并在任何您想要的地方显示视图。 (2认同)