- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
QUICK背景:
我有一个可在可搜索的标签式界面(也称为“Cheers View Controller”)中显示歌曲列表的应用。有两个选项卡,每个选项卡对应我的欢呼类别。我有一个侧边栏,可让您选择菜单选项,其中一个称为“我的收藏夹”。它使用SWReveal控制器(也称为“Sidebar”)。我试图允许用户在游戏时间之前标记最喜欢的欢呼声,然后在边栏中使用侧边栏导航快速引用他们最喜欢的歌曲列表。
我的应用程序的初始视图控制器是Reveal View Controller。
前视图(sw_front)是选项卡栏控制器,它在应用程序首次启动时显示Cheers View Controller。数据会从Cheers View Controller的ViewDidLoad中以CSV文件的形式加载到数组中。
后方控制器(sw_rear)是侧边栏,它定义了我的应用程序的菜单选项。补充工具栏上的菜单选项之一称为“我的收藏夹”。从概念上讲,正是这种侧边栏让我失望。有关我的故事板相关区域的快照,请参见下文。
故事板快照:
事实证明,作为新用户,我无法发布图像。 :(
目标
我试图从“我的收藏夹”视图控制器访问“Cheers”视图控制器中的“最喜欢的欢呼”数组。从Cheers View Controller到“我的收藏夹”当前没有没有segue ,似乎在这里定义segue在概念上是错误的。
我不想使用单例或其他解决方法,而是希望以正确的方式构建应用程序。一个简单的解决方案是将“我的收藏夹”移到选项卡栏控制器的另一个选项卡上。虽然我可以更改设计,并且事情可能会更容易,但是我似乎在这里缺少了可以在以后的应用程序中使用的有价值的概念。
我意识到,已经有很多关于将数据从一个控制器传递到另一个控制器的文章。我已经阅读了我认为的所有内容,但还不能成功地将解决方案合并到SWRevealController实现中。很明显,我对机械或概念(或两者)都感到困惑。我阅读的大多数文章都涉及到segue或两个具有segue或某种关系的控制器之间的传递字段。
机械问题:
我目前在主选项卡式界面的表视图控制器的ViewDidLoad中准备收藏夹数组。在将所有来自CSV文件的歌曲加载到主数组后,我立即执行了此操作。我以为可以将其传递给“我的收藏夹”表视图控制器,或者从“我的收藏夹表”视图控制器访问它。
//Copy favorite cheers into array
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.favorite contains[c] %@",@"Yes"];
NSArray *tempArray = [self.cheersArray filteredArrayUsingPredicate:predicate];
self.myFavoriteCheersArray = [NSMutableArray arrayWithArray:tempArray];
- (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender
{
// Get the selected row and identify the destination controller you are sending to
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
UINavigationController *destViewController = (UINavigationController*)segue.destinationViewController;
// Set the title of navigation bar by using the menu items
destViewController.title = [[_menuItems objectAtIndex:indexPath.row] capitalizedString];
if ( [segue isKindOfClass: [SWRevealViewControllerSegue class]] ) {
SWRevealViewControllerSegue *swSegue = (SWRevealViewControllerSegue*) segue;
swSegue.performBlock = ^(SWRevealViewControllerSegue* rvc_segue, UIViewController* svc, UIViewController* dvc) {
UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
[navController setViewControllers: @[dvc] animated: NO ];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
};
}
if([segue.identifier isEqualToString:@"myFavorites"]) {
//Get the Favorites View Controller (which has a navigation controller)
MyFavoritesViewController *myFavoritesViewController = [[MyFavoritesViewController alloc] init];
myFavoritesViewController = (MyFavoritesViewController*)destViewController.topViewController;
//THIS BELOW PART IS SHAKEY AT BEST
//Get the Cheers View Controller (which is part of a tabbed view controller)
SWRevealViewController *frontViewController = [[SWRevealViewController alloc] init];
CheersViewController *cheersViewController = (CheersViewController*)frontViewController.frontViewController;
//Pass the Favorites Array -- The below code gives me an error that the property I set on the CheersViewController is not found.
rankingViewController.favoriteCheers = CheersViewController.myFavoriteCheersArray;
}
}
最佳答案
这些是如何解决的。它们有效-至于它们是否是最好的,我会在我了解更多信息的同时通知您。咧嘴笑
问题1:从pDlist,CSV或AppDelegate didFinishLaunchingWithOptions中的任何其他源文件中加载一组初始数据。例如:
//Read in from JSON file
NSError *error;
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Cheers" ofType:@"json"]];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
self.cheersArray = json[@"cheers"];
//Instantiate initial view controller
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
CMViewController *cmViewController = [storyboard instantiateInitialViewController];
//Pass array of data into a table view controller
cmViewController.tableData = (NSArray *)self.tableData;
plutil -convert xml1 InputFileName.json -o OutputFileName.plist
关于ios - 如何使用SWRevealViewController在两个 View 之间传递数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21465779/
我正在使用良好的控制SWRevealViewController,但通过一些重做,我想在屏幕上跟踪我自己的滑动手势。那么如何关闭滑动选项呢?我只想使用附加到我的按钮的 revealToggle 方法。
我正在开发应用程序,注册过程后主屏幕将出现。并且 SWRevealViewController 已在主屏幕中配置。 我想以编程方式配置 SWRevealViewController。 下面是我的代码
所以我正在使用SWrevealViewController。它运行良好,但我遇到一个问题,当绘制或切换后 View 时,它将前 View 推到右侧,它不会滑过前查看。 如何让它滑过前 View ? 最
我用了SWRevealViewController为我的 iOS 应用程序创建一个滑出菜单。现在我想定制它。我一直在尝试使用本教程作为引用http://www.ebc.cat/2015/03/07/c
在遵循 AppCoda 的 tutorial 之后,我正在使用 SWRevealViewController .我能够在教程中毫无问题地使用它,但无法使其适应我自己的应用程序。原因是在我的应用程序中,
我有一个实现 SWRevealViewController 的应用程序,但我遇到了一些问题。 我有两个问题,我猜它们可能彼此相关(我不确定,因为我对此很陌生)。 如果我在一个从 SWRevealCon
我正在制作简单的 iOS 应用程序,其中有侧边菜单(使用 swrevealviewcontroller)和带有 3 个选项卡的选项卡栏。当我点击特定菜单项时,我想要我的标签栏更改标签。但是sideme
如何在 SWRevealViewController 中给原来的 View controller 添加返回按钮? 我检查了这些并尝试了它们都不起作用: Slide Out Menu without a
我在我的 swift 项目中包含了 SWRevealViewController objective-c 库, 工作正常, 我的问题是,当用户单击其 TableView 中的空白区域时,我想以编程方式
我正在使用 SWRevealViewController 在我的 IOS 应用程序中实现侧边栏。我已经按照 appcoda 教程来实现它,我需要将侧边栏重新定位到 tableview 行中的原始位置点
我正在使用 SWRevealViewController 在我的 iOS 应用程序中添加侧边栏菜单。我的前后 View Controller 都是表格 View Controller 。我的前 Vie
当我显示一个对象时,我想将它传递到我的后端 UIViewController。我在界面生成器中设置了 SWRevealViewController。我尝试在 prepareForSegue 中将其传递
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_AppDelegate", referenced from: objc-class-
我是 iOS 的新手,遇到了一个问题,我已经成功地实现了 SWRevealViewController 侧边菜单,如果我把 View Controller 作为初始屏幕,它就可以工作,但是当它在登录过
我正在使用 John-Lluch 的 SWRevealViewController。我需要使用平移手势来查看侧边栏,并且我正在使用滑动来查看我的上一篇和下一篇文章。但是,只能检测到平移手势。 更新:如
我使用 SWRevealViewController 在我的应用程序中添加侧边栏菜单。我有我的 SideBarViewController,我在其中设置 View Controller ,比方说 Op
通过 SWRevealViewController 将参数从一个 ViewController 传递到另一个 ViewController。这不是在Front Controller和Rear Cont
我在我的应用程序中使用 SWRevealViewController 作为左滑动菜单。我想检测菜单何时显示在我的 ViewController 中。我怎样才能做到这一点? 最佳答案 检测何时加载 Vi
我正在使用 SWRevealViewController 在 Swift 2.0 中显示侧边菜单 我已经从 GitHub 下载了文件,创建了桥接头并正确连接了转场。我正在创建一个自定义按钮,但“显示切
我正在使用 SWRevealViewController 库在我的应用中用作左滑菜单; github 链接:SWRevealViewController 我已经下载了以下项目示例 Appcoda pr
我是一名优秀的程序员,十分优秀!