2013-02-20 94 views
0

我目前有一个应用程序,其中有50个左右滚动视图中包含的自定义按钮。这些都与导航控制器连接到各个视图控制器,以显示带有标题的按钮的全屏幕图片。我希望能够在视图控制器之间滑动,但是当我这样做时,后退按钮将带我通过所有的滑动,而不是回到原始菜单。有没有更干净的方式做这一切,因为许多意见也在杀我的Mac?滑动手势和导航控制器

感谢

+1

你是说你的应用有50多个视图控制器吗? – JMarsh 2013-02-20 12:40:36

+0

您应该使用带全屏大小单元的UICollectionView制作一个详细视图控制器。这将允许您在图像之间滑动,并且您可以在viewDidLoad中动态设置内容偏移量,以便在前一个视图中选择的图像可见。 – 2013-02-20 13:01:12

+0

是的,它有50多个视图控制器,我是一个新手,所以不知道更好的方法。我为我的搜索使用了一个表格视图的详细视图,但想要与苹果相册有非常相似的设置。不知道该怎么做?我正在通过故事板工作,因为我的编码尚未达到标准。我也有一个理解,收集意见只在iOS 6.1及以上版本? – David 2013-02-20 13:29:19

回答

1

首先,我觉得会更好,而不是使用按钮UICollection,但无论如何...

这是你想要阅读的答案:

您可以设置自己的“后退按钮”,并执行按下回到第一个UIViewController的任务

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Atrás", nil) style:UIBarButtonItemStylePlain target:self action:@selector(backPressed:)]; 
    self.navigationItem.leftBarButtonItem = btn; 
} 


-(void)backPressed: (id)sender 
{ 
    // Go back to your first view 
} 

这是你应该遵循的答案:

通过不同UIViews将呈现在同样的事情刷卡(图像+文字)是不是一个好主意:第一,因为你是在浪费大量的内存,其次,因为如果必须做出任何改变,这将是单调乏味的...

因此,你应该做的只是使用ONE UIView,当你检测到刷卡手势,你只需改变视图中呈现的内容,这方式您的后退按钮将始终正确返回。

+0

第二个选项听起来很完美,但我会如何实现这一目标?抱歉完成新手! – David 2013-02-20 13:30:57

+0

将所有按钮都归为单个UIView,实现自定义的UIViewController并在其中实现手势委托...然后,当检测到滑动手势时,更改您定义的IBOutlets ... – apascual 2013-02-20 13:41:41