- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 pageViewController,它有两个 subview Controller ,您可以在它们之间滑动。其中一个有一个 textView,当你滚动到该页面时我想成为第一响应者,然后当你滚动离开时失去焦点。现在我有这个:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
composeTextView.delegate = self
composeTextView.becomeFirstResponder()
}
一旦您开始滚动到 View 上,键盘就会出现。但是一旦滚动完成,键盘就会消失。
知道为什么会这样吗?
最佳答案
过渡风格的 Page Curl 可以正常工作,但不能用于 Scroll。
我认为问题是在 viewDidAppear
之后立即出现,旧页面退出第一响应者并选择一个新的响应者,因此无论您设置为 firstResponder
都将丢失。这是由于新旧 View 在窗口中重复添加和删除而影响了响应者链。我认为在旧 View 滚出屏幕后,出于某种原因它会被添加回窗口,因为当您滚动回到它时,它已经准备就绪。
正如您在此日志中看到的,在 viewDidAppear 之后,两个 View 的窗口都有许多奇怪的变化。新 View 是 0x7fd87fa24160 那么为什么旧 View 0x7fd87fa059a0 被删除并多次添加到窗口?
2020-06-01 10:22:14.093911+0100 Paging2[45575:3540067] DetailViewController 0x7fd87fa15850 viewDidAppear: 0x7fd87fa24160
2020-06-01 10:22:14.094973+0100 Paging2[45575:3540067] MyView 0x7fd87fa059a0 didMoveToWindow 0x0
2020-06-01 10:22:14.095358+0100 Paging2[45575:3540067] MyView 0x7fd87fa24160 didMoveToWindow 0x0
2020-06-01 10:22:14.096090+0100 Paging2[45575:3540067] MyView 0x7fd87fa059a0 didMoveToWindow 0x7fd87f80f3d0
2020-06-01 10:22:14.096511+0100 Paging2[45575:3540067] MyView 0x7fd87fa24160 didMoveToWindow 0x7fd87f80f3d0
2020-06-01 10:22:14.099019+0100 Paging2[45575:3540067] MyView 0x7fd87fa059a0 didMoveToWindow 0x0
2020-06-01 10:22:14.099318+0100 Paging2[45575:3540067] MyView 0x7fd87fa24160 didMoveToWindow 0x0
2020-06-01 10:22:14.099812+0100 Paging2[45575:3540067] MyView 0x7fd87fa059a0 didMoveToWindow 0x7fd87f80f3d0
2020-06-01 10:22:14.100306+0100 Paging2[45575:3540067] MyView 0x7fd87fa24160 didMoveToWindow 0x7fd87f80f3d0
这里比较的是推送时的 UINavigationController。我在这学习了question额外移动到窗口是为了过渡,打开慢速动画有助于:
2020-06-01 10:49:16.786872+0100 NavWindowTest[45792:3560379] View 0x7fbfba608090 didMoveToWindow 0x0 (current view removed from window)
2020-06-01 10:49:16.787170+0100 NavWindowTest[45792:3560379] View 0x7fbfba608090 didMoveToWindow 0x7fbfba50c150 (current view added to window for transition)
2020-06-01 10:49:16.787577+0100 NavWindowTest[45792:3560379] View 0x7fbfba5124d0 didMoveToWindow 0x7fbfba50c150 (new view added)
2020-06-01 10:49:21.801791+0100 NavWindowTest[45792:3560379] View 0x7fbfba608090 didMoveToWindow 0x0 (old view removed from transition)
2020-06-01 10:49:21.803690+0100 NavWindowTest[45792:3560379] ViewController 0x7fbfbd005dd0 viewDidAppear: 0x7fbfba5124d0
viewDidAppear
在导航时最后调用但在分页时首先调用这一事实让我认为存在问题。
关于ios - 在嵌套在 PageViewController 中的 viewController 上设置 becomeFirstResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43531127/
我在 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 并成功地将新城市名称附加到我的城市数组中。当
我是一名优秀的程序员,十分优秀!