- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 XLPagerTabStrip - https://github.com/xmartlabs/XLPagerTabStrip有两个共享相同数据集的选项卡。
对于数据集,在我的主视图(包含两个选项卡)中,我调用了 Firebase 以获取数据。收到后,我会进行通知调用以发布数据 -> N.B.我确信这不是最优雅的方法,所以如果有人对更好的方法有建议,请告诉我(尽管这本身就是一个单独的问题)。
无论如何 - 在这两个选项卡中我都有此通知的观察员。
这在初始选项卡上效果很好,但是看起来第二个选项卡在用户点击选项卡之前不会初始化 -> 出于内存原因是有意义的:)但这意味着 MainVC 中的帖子被遗漏了......
如何让这两个选项卡实质上使用来自 Firebase 调用的相同数据集?
我的高级代码如下(如果需要我可以添加更多细节,让我知道缺少什么🙂):
class MainVC: ButtonBarPagerTabStripViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
getData()
}
fileprivate func getData() {
// ... bunch of firebase stuff...
NotificationCenter.default.post(
name: NSNotification.Name(rawValue: "dataReceived"),
object: nil,
userInfo: ["data": data]
)
}
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
let tab_one = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "tab_one")
let tab_two = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "tab_two")
return [tab_one, tab_two]
}
}
class TabOneVC: UIViewController, IndicatorInfoProvider {
override func viewDidLoad() {
super.viewDidLoad()
print("Hello from Tab One")
NotificationCenter.default.addObserver(
self,
selector: #selector(dataReceivedHandler(notfication:)),
name: NSNotification.Name(rawValue: "dataReceived"),
object: nil
)
}
@objc func dataReceivedHandler(notfication: NSNotification) {
// ... process data received
}
}
class TabTwoVC: UIViewController, IndicatorInfoProvider {
override func viewDidLoad() {
super.viewDidLoad()
print("Hello from Tab Two")
... same notification code as per Tab One
}
}
我想可能需要 Core Data,但如果它是唯一的方法(没有可怕的黑客攻击),我只会走这条路
提前致谢!
最佳答案
所以我设法让它工作,但不完全确定这是否是最好的方法,所以会稍微打开它
我所做的是让 MainVC
重新加载 View
Tab VC 在 MainVC 中共享相同的数据属性——这就是我认为你建议 Ajay 的...
class MainVC: ButtonBarPagerTabStripViewController {
var data: [DataModel] = []
fileprivate func getData() {
// ... bunch of firebase stuff...
// assign the data
self.data = data
// reload the view now we have data
// (doubt this is good practice...)
self.reloadPagerTabStripView()
}
}
两个选项卡都从 MainVC
中获取数据,就像这样......
class TabOneVC: UIViewController, IndicatorInfoProvider {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// Get data in MainVC
if let mainVC = self.parent as? MainVC {
data = mainVC.data // woohoo :)
}
}
}
关于ios - 使用 XLPagerTabStrip 在选项卡之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51615785/
我在应用XLPagerTabStrip时遇到了困难,不是编码本身的问题,而是你屏幕组织上的问题,前几天一直在研究,只是转了一圈,之前用过这个框架,我没有遇到任何困难,因为我的应用程序中的代码使用了全屏
我正在实现一个 ButtonBarPagerTabStripViewController,其导航 Controller 的导航栏上有两个按钮。我按照提供的示例将以下内容添加到 viewDidLoad(
我在我的应用程序中使用 XLpagertabstrip ..但我有一个问题,文本大于宽度,并且它从两侧被剪切..如下图所示: 正如您所看到的,最后一个选项卡“Arabic”没有完全显示。 这是我的代码
XLPagerTabStrip 库中的选定选项卡指示器不适用于 Swift 3 和 XCode 8 我正在为 Tab Strip 使用以下自定义 super.viewDidLoad()
我正在尝试在我的应用程序中实现 XLPagerTabStrip。一切都好因为我关注了官方Tutorial我已将 collectionView 的颜色更改为红色。当应用程序在模拟器中运行时,我看到有一个
您好,我正在使用 XLPagerTabStrip 在我的 ios 应用程序 (xcode 10.2.1) (IOS 12.3.1) 上显示类似 Android 的片段选项卡 我正在尝试更改图标大小。我
我有一个扩展了 ButtonBarPagerTabStripViewController 的 View Controller ,9 个选项卡 将显示在 ButtonBarView 中。我想知道是否有可
我正在尝试在我的项目中实现 XLPagerTabStrip。在文档中它说“ButtonBarPagerTabStripViewController 要求我们连接 buttonBarView soc
我想创建 XLPagerTabStrip 的 InstagramExample 之类的寻呼机选项卡,我遵循所有布局和编码以获得相同的结果。添加所有内容后,我在寻呼机选项卡上看不到标题标签,但我可以像在
我正在尝试做一个设计 XLPagerTabStrip控制整体主题随选项卡更改而更改的位置。 以下是标签更改时调用的内容 changeCurrentIndexProgressive = { [weak
问题 我正在开发 IOS 应用程序。我使用 XLPagerTabStrip 库来创建像在 Android 中一样的标签。 YouTube。一切正常,但我的选项卡有问题。 我有 3 个标签,但它们不会填
我是 iOS 编程新手,在使用 XLPagerTabStrip(github.com/xmartlabs/XLPagerTabStrip) 时遇到了困难。我按照它的教程,成功在VC的顶部添加了Page
我在 XLPagerTabStrip Usage 中完成了所有操作 但是有问题:( 2016-05-21 20:36:53.108 [13794:5338746] the behavior of th
我正在使用 XLPagerTabStrip 获取具有 ViewPager 类型行为的 TabBar,就像 Android 一样。我已经按照他们的 github 存储库文档指南进行了配置,但就我而言,它
我正在使用 XLPagerTabStrip,我有一个 Scrollview 和一个 collectionView,名称分别为 Container 和 ButtonBarView。除了 Tab item
我想要一个有 5 个标签的 viewpager。最大限度。 3 应该一次可见,宽度相等,并且应该使所选选项卡居中。这就像 Fotmob 的应用程序屏幕。 布局应该是这样的: Yesterday | L
我正在使用 XLPagerTabStrip在 swift 3 应用程序中,我使用默认的 ButtonBar 并且一切正常,但是当我像这样启用导航栏时该栏被隐藏: 如果我隐藏导航栏,它显示如下: 如何将
我正在使用这个库:https://github.com/xmartlabs/XLPagerTabStrip 我的问题是我无法解决为 ButtonBarPagerTabStripViewControll
我正在使用 XLPagerTabStrip - https://github.com/xmartlabs/XLPagerTabStrip有两个共享相同数据集的选项卡。 对于数据集,在我的主视图(包含两
我有一个运行的 CollectionView 和一个 XLPagerTabStrip 也运行,但是当我将我的 CollectionView 集成到 IndicatorInfoProvider 的 XL
我是一名优秀的程序员,十分优秀!