推送转换后 iOS 按钮未完全呈现

标签 ios swift uiview uibutton

我有一个 View Controller ,当点击子类 UIButton 时,它会推送另一个 View Controller 。问题是我在新呈现的 View Controller 上有同一个子类的另一个按钮,但是当它出现时它被切断了。

当我点击键盘键时,此问题自行解决,如果我点击“调试 View 层次结构”,它会在 Xcode 中显示为完全绘制,而当我退出调试时,它会完全绘制。

这是 iPhone XS Max iOS 12.1 和 Swift 4.2 中的问题示例(我用红色矩形覆盖了一些文本字段,因为它们具有用户详细信息,但它们是 UITextField 的子类,卡片 View 是带有 UICollectionView 的 subview Controller ):

这就是我得到的
wide demo pic

这是我所期望的
wide demo pic

我已经尝试将按钮及其 super View 的 setNeedsDisplay 和 layoutIfNeeded 放在 viewDidAppearviewWillAppear 中,但我无法确定发生了什么以及如何解决它.如果有人能帮助我,我将不胜感激。谢谢!

最佳答案

我认为这不是渲染问题,而是按钮顶部的另一个 View 。尝试在 view debugger

中进行更多调查

View debugger

然后看看是什么。 (检查其他 UIWindows)

我想这是键盘建议的观点。或一些页脚 View 等。

关于推送转换后 iOS 按钮未完全呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53230774/

相关文章:

ios - 将 TableView 中的数据存储到 NSUserDefaults

ios - didSelectItemAtIndexPath 未在同一屏幕上使用多个 Collection View 调用

ios - Swift DateFormatter 可选毫秒数

iOS 如何在任何 View Controller 中捕获触摸?

ios - 以编程方式创建的 Animate NSLayoutConstraint

ios - 无限内存增长 - iOS

ios - 是否建议在托管对象之外添加 "pure"模型对象?

ios - 在用户拒绝后请求位置许可。 swift 3. IOS

objective-c - Swift 到 Objective-C header 不包含 Swift 类

iphone - 在iphone中缩放后保留标签的分辨率