我需要弄清楚如何识别在任何给定时间活动的故事板。我有一个专门的nativation,我需要识别故事板(UIView),然后根据用户按下的内容以编程方式更改内容。
我想要做的是确定用户所在的故事板,并根据媒体执行以下sudo-code
等...
我已经完成了代码并看到了StoryboardID,但是我很确定你不打算使用....
提前致谢 杰里米
更新:导航说明
我正在尝试实现ECSlideViewController,但它正在努力。有效地将幻灯片添加到正确的功能中以显示更多选项。所以,这种想法很容易变成icky。我有主UIViewController我然后在屏幕上有4个按钮,其中包括其他UIViewControllers,UIViewController等。
为了对View1,View2,View3,View4产生影响,我需要将类(根据示例的ECSlideViewController)引入UIViewController。但是,如果我更改以下代码来表示这个......
self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“HomeView”];它崩溃是因为它自称。不好,循环编码是不行的。
但如果我将它设置为原来的那个 self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@“FirstTop”]; < - (顺便说一下,op是与示例一起使用的视图的标题)
它有效,但后来忽略了UIViewController
这就是为什么我问是否有办法识别UIViewController的self.title(所说的故事板......我的坏),因为我要在它周围放置条件逻辑,以便不将代码放入它在UIViewController上。
除非您下载ECSlideViewController并开始使用它,否则很难解释。但实际上我只想测试self.title .....我想......
另一个想法是将逻辑带入四个人的UIViewControllers中并让它在那里工作......但是因为期待一个标识符,它会传递nil ...
希望这是有道理的......
学家
答案 0 :(得分:0)
我不确定这是否有帮助,但听起来你必须比较实例以获得你想要的结果。我没试过这个,但是我会在你的app delegate中创建每个storyboard的属性,然后在你的视图控制器中引用app delegate进行比较。这可能不是最好的编码实践,但我会把它留在你手中。
类似(未经测试的代码):
- (void)testStoryBoard //After awake from nib or viewDidLoad
{
NXAppDelegate *appDelegate = (NXAppDelegate *)[[UIApplication sharedApplication] delegate];
if ([self.storyBoard isEqual:appDelegate.view1StoryBoard])
NSLog(@"View1 Storyboard");
else
NSLog(@"View 2 Storyboard");
}
答案 1 :(得分:0)
好的伙计们,
完全抛弃了ECSlideViewController。我找到了一些文章,解释说当你有多个UiViewControllers没有正确传递数据时它会出现问题。我最终使用安德鲁斯的建议。 http://www.youtube.com/feed/UCJA_puohXgnze8gPaerTeig它对我来说更容易。
虽然我注意到苹果公司的设计指导方针,但这通常是不行的,但我希望他们不介意。
再次感谢大家!
学家