1

我是 iOS 开发的新手,我正在开发一个与 iPad 中的 Featured 选项卡完全相似的应用程序。

例如 :

纵向模式下的应用程序功能选项卡 http://postimage.org/image/hpfg55zbh/

在滚动视图中显示应用程序

在横向模式下

http://postimage.org/image/dpwnbnr4n/

OHK NOW:我正在做的是,我正在创建图片中单元格显示大小的视图。假设我有 25 个应用程序,那么我将创建 25 个视图并在该视图上加载应用程序的图像和描述。当用户从纵向模式旋转到横向时,我正在重新创建视图因为我正在显示:

纵向模式:每页 5 行 X 2 列。横向模式:每页 3 行 X 3 列。

重新创建和发布视图确实不是一个好习惯。任何人都可以指导我或建议我这样做的任何其他技术吗?我必须滚动视图和页面控制,但我想摆脱这种重新创建方法。

**

通过编程做完整的开发,不使用任何NIB

** 寻找最佳答案 :) ... 请帮帮我

4

1 回答 1

0

我会说,当您的视图加载时,您将进行初始创建,而当您旋转时,您只需通过编辑视图的框架来重新定位视图。由于您没有使用笔尖,我假设您已经具备相应定位视图的逻辑。

所以也许你有类似的东西:

//Assuming you have these members
UIView *yourContainer_;
NSArray *subViews_;

- (void)viewDidLoad
{
    if(UIUserInterfaceOrientationIsLandscape(self.interfaceOrientation))
    {
        //create your views and add to container
    }
    else
    ....
}

-(void)willRotateToInterfaceOrientation: (UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
{
     if(UIUserInterfaceOrientationIsLandscape(orientation)
     {
          yourContainer_.frame = CGRectMake(?,?,?,?); //whatever the new size needs to be
          //then loop through all of your sub views to reposition their frames individually within the new container to match the new size and layout
     }
     else
     {
          //the same thing for this orientation
     }

}
于 2012-05-10T13:55:06.287 回答