这里是故事.我在我的项目中使用RevealVIEwController.我也隐藏了导航栏:
[self.navigationController setNavigationbarHIDden];
我的项目可以在下面的图片中看到,“menubutton”在tabbarVIEwController中实现.
由于导航栏由于我的界面外观而被隐藏,所以所有tabVIEws(HomeVIEwController)将不会显示menubutton和导航栏.我没有使用panGestureRecognizer来触发菜单.
这意味着我有一个问题,通过HomeVIEwController中的普通按钮触发菜单. menubutton-event放在tabbarVIEwController.m中:
_menubutton.target = self.revealVIEwController;_menubutton.action = @selector(revealToggle:);
所以我试图从HomeVIEwController调用一个方法来触发tabbarVIEwController中的按钮,如下所示:
HomeVIEwController.m
- (IBAction) onMenuClicked: (ID)sender{tabbar = [[tabbarVIEwController alloc] init];[tabbar setupMenu]:}
tabbarVIEwController.m
-(voID) setupMenu{[_realMenubutton sendActionForControlEvents:UIControlEventtouchUpInsIDe];[_realMenubutton addTarget:self.revealVIEwController action:@selector(revealToggle:) UIControlEventtouchUpInsIDe];}
在这个例子中,我试图使realMenubutton和正常的UIbutton. Ive也尝试作为一个UIbarbuttonItem来触发@selector(revealToggle :)但是当我尝试从HomeVIEwController触发按钮时,应用程序中没有任何反应.
不知道我该如何做这个工作.任何其他想法或技巧?请具体如果是这样!问候
解决方法 是的,它仍然可以工作.SWRevealVIEwController只是一个UIVIEwController的子类,所以你可以在应用程序的任何一点使用它:
通过调用presentVIEwController:在某些时候动画.
>通过在导航堆栈等中使用它
请注意,您可以从SWRevealVIEwController添加手势到其内容视图控制器,这将改变导航视图控制器中使用的行为,但这是预期的,您仍然可以完全控制其行为.
编辑
您的应用程序的UI结构对我来说还不是很清楚 – 当VC在视图中是InVIEw HomeVIEwController时,您似乎试图在SWRevealVIEwController的一个实例上调用revealToggle?当SWVC甚至不视觉时,这个工作怎么样?
我最好的猜测是你的UI结构应该如下:
TabbarController —>(root)UINavigationController —>(root)SWRevealVIEwController.
然后,在SWRevealVIEwController上,将HomeVIEwController设置为前视图控制器,将tableVIEwController设置为右视图或左视图控制器.
总结以上是内存溢出为你收集整理的iOS中的SWRevealViewController项目全部内容,希望文章能够帮你解决iOS中的SWRevealViewController项目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)