Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打造类似iPhone-Facebook 3.0的主页的策略_Iphone_Objective C_Cocoa Touch_Algorithm - Fatal编程技术网

打造类似iPhone-Facebook 3.0的主页的策略

打造类似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)在导

你将如何创建一个新的facebook 3.0应用程序所提供的主页?有一个由3x3个UIButtons组成的网格,如果您看这里,它会出现:

如果您想复制一个类似的用户界面,您是否会以编程方式将9个单独的按钮通过某种循环放置在屏幕上?如果是这样,循环会是什么样子


你能把一个图像和硬代码坐标做成一个数组,看看用户在哪里输入并采取适当的行动吗?

我不熟悉这个应用程序,但从图像上看,我想说一种方法是使用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
,可获得额外积分。

对于我的应用程序封装器,我有一个类似的“主”屏幕

在我的代码中,我构建了一个包含每个按钮属性的结构。 例如:

  • 图标图像名称
  • 头衔
  • 脉冲状态(我使用一个脉冲背景图像而不是徽章功能来显示某些东西已经改变)
然后,我创建了这些结构的数组,并用每个按钮的详细信息对它们进行了初始化

然后,我的视图代码在此数组上循环并构建按钮(它设置所有默认属性-背景图像、字体等)

我目前没有多个页面,但随着我扩展应用程序并添加更多功能,我将填充当前未使用的框。当我在一个屏幕上显示更多内容时,我只需将backing视图从UIView切换到UIScrollView,并添加一个分页控件

所有这些都是在代码中完成的。我根本不使用界面生成器

就我的目的而言,它工作得很好,当我添加新区域时,我所要做的就是调整一些代码行,在这些代码行中,我初始化了结构数组,而现有代码完成了其余的工作

希望有帮助


chris。

对于我的应用程序封装器,我有一个类似的“主”屏幕

在我的代码中,我构建了一个包含每个按钮属性的结构。 例如:

  • 图标图像名称
  • 头衔
  • 脉冲状态(我使用一个脉冲背景图像而不是徽章功能来显示某些东西已经改变)
然后,我创建了这些结构的数组,并用每个按钮的详细信息对它们进行了初始化

然后,我的视图代码在此数组上循环并构建按钮(它设置所有默认属性-背景图像、字体等)

我目前没有多个页面,但随着我扩展应用程序并添加更多功能,我将填充当前未使用的框。当我在一个屏幕上显示更多内容时,我只需将backing视图从UIView切换到UIScrollView,并添加一个分页控件

所有这些都是在代码中完成的。我根本不使用界面生成器

就我的目的而言,它工作得很好,当我添加新区域时,我所要做的就是调整一些代码行,在这些代码行中,我初始化了结构数组,而现有代码完成了其余的工作

希望
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];