- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 UIViewController(使用 Swift)
它只是一个简单的项目列表。它作为一个 UIViewController 实现,我向其中添加了一个 UITableView。这个“项目” View 是通过我的滑动菜单实现中的这段代码调用的,并且滑动菜单的初始 View 嵌入在 NavigationController 中 - 因此滑动菜单中的所有 View 都采用导航 Controller 。 Items 是像这样调用的那些幻灯片菜单 View 之一
self.openViewControllerBasedOnIdentifier("Items")
这很好用,我明白了......
然后我在右上角有一个添加按钮,您可以按下它来添加新项目。添加按钮调出一个 PageViewController。我使用页面 View 是因为有多个页面的详细信息与要添加的项目相关联。到目前为止,这也是有效的,因为我启动了 pageviewcontroller 并且我可以在页面之间切换。
问题是页面上元素的放置在某些情况下会发生变化(不一致)。
当我最初显示 PageViewController 的第一页时,我看到了我设计的布局(在左下方)。如果我只是简单地跳出文本字段,或者如果我滑动到第二页然后滑动回到第一页,那么我会看到正确的图像。整个视野都跳起来了!
我尝试翻转 Storyboard中关于 .我什至将大部分绘图移入代码并移出 Storyboard,以便手动设置约束。这些是我玩过的设置。尝试了很多组合,但现在大部分都关闭了。
这是之前和之后。如何阻止 View 上下跳动。此外,有趣的是,如果我从第 3 页滑动到第 2 页,则第 2 页会向上移动。如果我继续返回第 1 页,然后滑动回到第 2 页,则第 2 页会回到正确的位置。因此,深入了解我进入第 2 页的方式是不同的布局。从1到2,第2页正确。从 3 到 2,第 2 页上移。
我无法让布局停留在一个位置。
另一种选择是在页面 View Controller 中关闭 NavigationController 并在没有它的情况下进行处理。
所以...
1) 我怎样才能停止跳跃 - 最好的情况
2) 当 pageviewcontroller 启动时如何关闭导航 Controller - 第二个选项
我的 pageviewcontroller 的页面是通过这段代码调用的
instantiateViewController(withIdentifier: "itemDetail\(num)ViewController")
其中“num”是 1、2 或 3。使用索引数组和 viewControllerBefore 以及 viewControllerAfter 方法。分页本身工作正常。
谢谢
最佳答案
这并没有回答如何让 Storyboard工作的问题。这仍然是一个谜。但是,我能够通过执行以下操作来修复移动布局的奇怪行为。
我从 Storyboard 中删除了所有绘图并将所有内容放入代码中。比如我定义了一个容器 View ...
// The container
let containerView: UIView = {
let view = UIView()
view.backgroundColor = UIColor.white
view.translatesAutoresizingMaskIntoConstraints = false
view.layer.masksToBounds = true
return view
}()
然后我将容器相对于 UIViewController 的 View 放置
view.addSubview(containerView)
containerView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true
containerView.topAnchor.constraint(equalTo: view.topAnchor, constant: 155).isActive = true
containerView.widthAnchor.constraint(equalTo: view.widthAnchor, constant: 0).isActive = true
containerView.heightAnchor.constraint(equalTo: view.heightAnchor, constant: -155).isActive = true
类似地,我已经在代码中定义了所有其他控件,然后将它们添加到 containerView subview 中,然后使它们都相对于 containerView。
这会在我在 PageViewController 的页面之间滑动时保持一切就位
关于ios - 导航 Controller 内的 pageviewcontroller 导致布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43359498/
我在 ViewController 中创建了一个 PageViewController,如下所示: 主视图 Controller (viewDidLoad()) self.pageViewContro
情况:我想从数据条目列表导航回我的 PageViewController。 before 和 previous 函数起作用 func pageViewController(pageViewContro
我是新手,我试图通过管理 3 个 viewController 的 pageViewController 为 viewController 传递一些变量,并在 3 个 Controller 中使用这些
我目前正在使用 BWWalkthrough 来创建入门体验,每张幻灯片都有不同的背景。通常情况下,将ImageView的约束设置为0并将其内容模式设置为Aspect Fill就足以拥有全屏背景: 这篇
我在我的应用中使用 PageViewController。 在测试版中,一些用户提示他们不明白他们可以翻页。 我看到在某些应用程序中,有一个提示动画会在页面的右上角 curl 。 这是我可以使用 Pa
我已按照本教程创建 PageViewController http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/问题是我错误地
我通读了文档,但我仍然无法理解这个文档。我有一个导航 VC,我将 pageview VC 设置为它的根(尽管它没有达到 PageViewController 中 viewdidload 中的断点)。到
我已按如下方式以编程方式添加了 pageviewController。有用。但是,当我尝试使用 [self.pageViewController.view removeFromSuperview];
如果我前后滑动页面(图像),以下代码将起作用。但是,我想知道如何能够从上到下或从下到上? 换句话说,图像将停留在屏幕的底部,当用户从上到下方向滑动时,就会出现第二个图像,依此类推。 self.page
- (void)viewDidLoad { self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UI
我有一个简单的应用程序,我想在用户首次登录应用程序时在其中显示一个 PageViewController。他们查看教程后,在下一次加载时不会显示 PageViewController。 但是我收到了以
我正在集成 PageViewController。我遇到错误。 Could not cast value of type 'UIViewController' (0x105390ca8) to 'Ve
我有一个显示一组图像的 pageViewController。当我从右向左滚动时,一切都很好,但是当我从左向右滚动时,所有图像都发生了移动(右侧图像的一部分仍然可见: 我必须提到,我在 imageVi
我有几个问题,请帮帮我。 如果我在 didSelectItemAt Delegate 协议(protocol)上触摸 CollectionViewCell,我想移动 UIPageViewControl
在主视图 Controller 中,我有一个简单的按钮可以激活一个 pageViewController。此 pageViewController 包含两个 View Controller 。 我正在
基本上,我不仅希望通过滑动移动我的 PageViewController,还希望通过按钮移动我的 PageViewController。 @IBAction func nextButtonAction
您好,我有一个 pageViewcontroller,里面有一些 viewcontroller。里面有一个空白的 Controller ,里面有一个标签 问题是当我尝试旋转它时它崩溃了 这是代码 cl
我的问题是使用 pageViewController 实现时的滑动 Action 。我希望它从右向左移动,但它是从左向右移动的,这对 UI 体验来说不是天生的! 当我使用 Xcode 7 和 Swif
我想用 pageViewController 的当前索引设置 slider 的值。我的想法是使用这种方法,但我不知道如何获得索引... -(void)pageViewController:(UIPag
我是 Swift 新手,正在制作一个简单的天气应用程序。我使用了基于页面的应用程序模板。 我遇到的问题如下: 当用户添加一个城市时,我调用 addCity 并成功地将新城市名称附加到我的城市数组中。当
我是一名优秀的程序员,十分优秀!