我有一个 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/
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我知道您通常应该在Rails中使用新建/创建和编辑/更新之间的链接,但我有一个情况需要其他东西。无论如何我可以实现同样的连接吗?我有一个模型表单,我希望它发布数据(类似于新View如何发布到创建操作)。这是我的表格prohibitedthisjobfrombeingsaved: 最佳答案 使用:url选项。=form_for@job,:url=>company_path,:html=>{:method=>:post/:put} 关于ruby-on-rails-rails:Howtomak
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
我有一个rubyonrails应用程序。我按照facebook的说明添加了一个像素。但是,要跟踪转化,Facebook要求您将页面置于达到预期结果时出现的转化中。即,如果我想显示客户已注册,我会将您注册后转到的页面作为成功对象进行跟踪。我的问题是,当客户注册时,在我的应用程序中没有登陆页面。该应用程序将用户带回主页。它在主页上显示了一条消息,所以我想看看是否有一种方法可以跟踪来自Controller操作而不是实际页面的转化。我需要计数的Action没有页面,它们是ControllerAction。是否有任何人都知道的关于如何执行此操作的gem、文档或最佳实践?这是进入布局文件的像素