标签栏; childView segues

时间:2016-06-15 07:22:00

标签: swift

我正在尝试创建一个带有2个视图的标签栏视图的应用。第一个包含tableView。使用第二个,您可以将元素添加到tableView。现在我希望能够在视图之间进行通信

切换标签栏控制器中的标签时是否存在segue?我怎么能拦截他们?如果没有,两个视图之间是否还有其他可能的通信方式?

2 个答案:

答案 0 :(得分:0)

您可以使用UITabBarControllerDelegate方法拦截视图控制器之间的实际切换:

  

告诉代表用户在标签栏中选择了一个项目。

您可以通过访问对象库并搜索“object”来实现一个简洁的实现:

tabBarController:didSelectViewController:

将其拖到Tab栏视图控制器并通过ctrl + drag设置它的委托。

选择它:

enter image description here

并在检查器中设置自定义类:

enter image description here

当您右键单击对象时,您应该看到:

enter image description here

以下是CustomClass的示例:

class CustomClass : NSObject, UITabBarControllerDelegate
{
   func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController)
   {
   }
}

viewController参数是:

  

用户选择的视图控制器。在iOS v3.0及更高版本中,这可能与已选择的视图控制器相同。

这意味着您需要检查它是哪个VC。

答案 1 :(得分:0)

我自己想出了一个解决方案:

-keep public class com.mypackage.MyClass$MyJavaScriptInterface
-keep public class * implements com.mypackage.MyClass$MyJavaScriptInterface
-keepclassmembers class com.mypackage.MyClass$MyJavaScriptInterface { 
   <methods>; 
}
-keepattributes JavascriptInterface