打造类似iPhone-Facebook 3.0的主页的策略
你将如何创建一个新的facebook 3.0应用程序所提供的主页?有一个由3x3个UIButtons组成的网格,如果您看这里,它会出现: 如果您想复制一个类似的用户界面,您是否会以编程方式将9个单独的按钮通过某种循环放置在屏幕上?如果是这样,循环会是什么样子打造类似iPhone-Facebook 3.0的主页的策略,iphone,objective-c,cocoa-touch,algorithm,Iphone,Objective C,Cocoa Touch,Algorithm,你将如何创建一个新的facebook 3.0应用程序所提供的主页?有一个由3x3个UIButtons组成的网格,如果您看这里,它会出现: 如果您想复制一个类似的用户界面,您是否会以编程方式将9个单独的按钮通过某种循环放置在屏幕上?如果是这样,循环会是什么样子 你能把一个图像和硬代码坐标做成一个数组,看看用户在哪里输入并采取适当的行动吗?我不熟悉这个应用程序,但从图像上看,我想说一种方法是使用Interface Builder来布置9个自定义UIButton(其中有你自己的UIImages)在导
你能把一个图像和硬代码坐标做成一个数组,看看用户在哪里输入并采取适当的行动吗?我不熟悉这个应用程序,但从图像上看,我想说一种方法是使用Interface Builder来布置9个自定义UIButton(其中有你自己的UIImages)在导航控制器的根视图中,然后连接每个导航控制器的iAction(内部润色),以在堆栈上推送一个新的视图控制器。再说一次,我不使用facebook,所以不能肯定它是否是这样连接在一起的 我不熟悉该应用程序,但从图像来看,我认为一种方法是使用Interface Builder在导航控制器的根视图中布置9个自定义UIButton(其中包含您自己的UIImages),然后连接每个按钮的iAction(内部润色),以在堆栈上推送一个新的视图控制器。再说一次,我不使用facebook,所以不能肯定它是否是这样连接在一起的 首先使用interface builder让一切正常工作。您只需从interface builder中拖放内容,就可以实现大部分功能 然后,您可以使用其他绘图技术增强用户界面
(注意:在最初的海报改变了他们的问题之前,这个答案更为相关)从使用界面生成器开始,让一切正常工作。您只需从interface builder中拖放内容,就可以实现大部分功能 然后,您可以使用其他绘图技术增强用户界面 (注意:在最初的海报改变了他们的问题之前,这个答案更为相关) 以下是Joe Hewitt在制作iPhone Facebook 3.0应用程序过程中创建的开源库。这就是我要开始的地方。
以下是Joe Hewitt在制作iPhone Facebook 3.0应用程序过程中创建的开源库。这就是我要开始的地方。Joel指向Three20的指针是最好的建议-这是Joe在创建Facebook.app的过程中开源的库 关于你通常会怎么做,这是我的2美分:
您将拥有一个
UIScrollView
(注意,可以有多个按钮页面),每个页面都承载一个YourAppButtonGridView
。每个YourAppButtonGridView
都只有一个按钮数组,并将它们放置在一个网格中(在layoutSubviews
方法中写入)。使用具有类似外观和感觉的uitabaritem
,可获得额外积分。Joel指向Three20的指针是最好的建议-这是Joe在创建Facebook.app过程中开放的库
关于你通常会怎么做,这是我的2美分:
您将拥有一个
UIScrollView
(注意,可以有多个按钮页面),每个页面都承载一个YourAppButtonGridView
。每个YourAppButtonGridView
都只有一个按钮数组,并将它们放置在一个网格中(在layoutSubviews
方法中写入)。使用具有类似外观和感觉的uitabaritem
,可获得额外积分。对于我的应用程序封装器,我有一个类似的“主”屏幕
在我的代码中,我构建了一个包含每个按钮属性的结构。
例如:
- 图标图像名称
- 头衔
- 脉冲状态(我使用一个脉冲背景图像而不是徽章功能来显示某些东西已经改变)
chris。对于我的应用程序封装器,我有一个类似的“主”屏幕 在我的代码中,我构建了一个包含每个按钮属性的结构。 例如:
- 图标图像名称
- 头衔
- 脉冲状态(我使用一个脉冲背景图像而不是徽章功能来显示某些东西已经改变)
for (int i=1;i <= [OGViewControllers numberOfControllers];i++) {
aButton = [[OGMoreButtonView alloc] initWithIcon:[OGViewControllers iconForViewControllerWithIndex:i]
andTitle:[OGViewControllers titleForViewControllerWithIndex:i]];
aButton.frame = CGRectMake(((i-1)%4) * 80.0, ((i-1)/4) * 65.0, 80.0, 65.0);
aButton.tag = i;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemSelected:) name:@"AMoreButtonWasTouched" object:aButton];
[self.view addSubview:aButton];
[aButton release];
[pageControl setCurrentPage:(int)(([scrollView contentOffset].x/320)+0.5)];
if (oldPage != [pageControl currentPage]) [[NSNotificationCenter defaultCenter] postNotificationName:@"OGSwipeViewItemChanged" object:nil];