我一直在关注XLpagerTabStrip cocoapods扩展,在我的视图控制器顶部设置一个标签栏(https://github.com/xmartlabs/XLPagerTabStrip).我正在实现ButtonBarPagerTabStripViewController并完全按照步骤,但UIScrollView不显示子视图控制器.
我认为这是因为在示例中,子视图控制器是以编程方式而不是在故事板中设置的,而我的当前设置在故事板中,因此没有显示任何内容,但我无法看到连接子视图通过故事板查看ButtonBarController的控制器.
有没有办法使用故事板显示子视图控制器,还是必须以编程方式完成?
GitHub页面表示要实现以下功能(但是如果您的子视图控制器是通过故事板设置的,那么这似乎不起作用):
override public func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController]
{
return [MyChildViewController(), MySecondChildViewController()]
}
Run Code Online (Sandbox Code Playgroud) 我XLPagerTabStrip在项目中使用pod
我有一个桥接头用于其他目的,以从快速集成到目标c myproject-swift.h
我无法构建项目,并且此错误总是弹出:
找不到'ParentViewController'的超类'ButtonBarPagerTabStripViewController'的接口声明
这是我的控制器
import Foundation
import UIKit
import XLPagerTabStrip
class ParentViewController: ButtonBarPagerTabStripViewController {
override func viewDidLoad() {
tabStripStyle()
super.viewDidLoad()
containerView.isScrollEnabled = false
}
}
Run Code Online (Sandbox Code Playgroud)
我到处都看到过这个问题,但是这里还没有回答: 自动生成的Swift桥接头中的“找不到接口声明”
我正在使用 cocoapod XLPagerTabStrip在我的 iOS 应用程序中实现 PagerTabStrip。我在构建或运行应用程序时收到以下警告消息
变量“self”已写入,但从未读取
此警告来自以下关闭代码,该代码用于更改滑动时的项目文本颜色。
changeCurrentIndexProgressive = { [weak self] (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
guard changeCurrentIndex == true else { return }
oldCell?.label.textColor = .lightGray
newCell?.label.textColor = .black
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我摆脱这个警告消息吗?
我申请有困难XLPagerTabStrip,不是编码本身,而是你的屏幕组织,前几天我一直在研究,但我只是圈出,以前用过这个框架,自从我的应用程序中的代码使用以来,我没有任何困难全屏,但随着 iPhone X 的推出不得不改变应用程序的视图模式,因此我无法XLPagerTabStrip尊重“安全区域”的限制,如下图所示

我想知道如何强制执行此限制,因为我几乎尝试了所有方法。
甚至制作一个新的单独项目来测试这个问题仍然是正确的。
我认为这是我的代码中的一些错误然后重新创建但问题仍然存在。
提前致谢
我正在尝试在swift中的不同tableViewControllers之间进行滑动导航.我设法使用viewControllers使用以下代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
}
var scrollViewAdded = false
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if !scrollViewAdded {
self.loadSrollView()
self.scrollViewAdded = true
}
}
func loadSrollView() {
self.scrollView.pagingEnabled = true
let vc0 = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController0")
self.addChildViewController(vc0!)
self.scrollView.addSubview(vc0!.view)
vc0!.didMoveToParentViewController(self)
let vc1 = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController1")
var frame1 = vc1!.view.frame
frame1.origin.x = self.view.frame.size.width
vc1!.view.frame = frame1
self.addChildViewController(vc1!)
self.scrollView.addSubview(vc1!.view)
vc1!.didMoveToParentViewController(self)
let vc2 = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController2")
var frame2 = vc2!.view.frame
frame2.origin.x = self.view.frame.size.width * 2
vc2!.view.frame …Run Code Online (Sandbox Code Playgroud) 我一直在使用XLPagerTabStrip在我的视图控制器顶部有效地创建一个标签栏,其中显示了多个子视图控制器.让我们调用Home作为父控制器,它扩展了ButtonBarPagerTabStripViewController.有两个子视图控制器,Child1和Child2.一切都像我预期的那样完美.但现在我需要一个需求,我必须以编程方式切换子视图控制器.即,当一个进程(在child2中)完成时,它应该触发将选项卡从Child 2切换到Child1.我知道有几种方法,
func moveToViewController(at index: Int)
func moveToViewController(at index: Int, animated: Bool)
func moveTo(viewController: UIViewController)
func moveTo(viewController: UIViewController, animated: Bool)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用它.
我正在使用View寻呼机应用程序制作应用程序,我正在使用XLPagerTabStrip库来制作它.它在Viewpager项目中与Title一起使用.我想在其中添加Icon和相应的Label.
问题
我正在研究IOS应用程序.我使用XLPagerTabStrip库来创建像Android一样的标签.YouTube上.一切正常,但我有Tabs的问题.
我有3个标签,但他们不会填写整个宽度,他们自己重叠.
Paren级代码
import UIKit
import XLPagerTabStrip
class InformationsParentView: ButtonBarPagerTabStripViewController {
let purpleInspireColor = UIColor(red:0.13, green:0.03, blue:0.25, alpha:1.0)
override func viewDidLoad() {
super.viewDidLoad()
settings.style.buttonBarBackgroundColor = .white
settings.style.buttonBarItemBackgroundColor = .white
settings.style.selectedBarBackgroundColor = purpleInspireColor
settings.style.buttonBarItemLeftRightMargin = 0
settings.style.selectedBarHeight = 2
settings.style.buttonBarMinimumLineSpacing = 20
settings.style.buttonBarItemTitleColor = .black
settings.style.buttonBarItemLeftRightMargin = 0
settings.style.buttonBarItemsShouldFillAvailiableWidth = true
}
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
let tabWorkers = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "sbWorkers")
let tabPLs = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "sbPLs")
let tabSuperiors = UIStoryboard(name: …Run Code Online (Sandbox Code Playgroud) 我有一个运行的CollectionView和一个XLPagerTabStrip也运行,但是当我将我的CollectionView集成在IndicatorInfoProvider中的XLPagerTabStrip中时,我有这个错误...
谢谢!
collectionview uicollectionview swift swift2 xlpagertabstrip
我正在尝试设计一个XLPagerTabStrip控件,该控件的总体主题随选项卡的更改而更改。
以下是选项卡更改时调用的内容
changeCurrentIndexProgressive = { [weak self] (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
guard changeCurrentIndex == true else { return }
oldCell?.label.textColor = .black
newCell?.label.textColor = UIColor.red
//Change the navigation bar's color
self?.navigationController?.navigationBar.barTintColor = UIColor.red
//Attempting to change the selected bar color
self?.settings.style.selectedBarBackgroundColor = UIColor.green
}
Run Code Online (Sandbox Code Playgroud)
更改导航控制器的颜色是可行的,但是我无法在此处从中更改选定的栏(或设置对象下的任何东西)吗?
加载视图后,是否可以更改设置?
xlpagertabstrip ×10
swift ×9
ios ×8
childviews ×1
header ×1
objective-c ×1
swift2 ×1
swift3 ×1
swift4 ×1
swipe ×1
tableview ×1
xcode ×1
xcode9 ×1