问题标签 [viewwilltransitiontosize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 界面过渡后有什么效果?
在我的项目中有 VC 和其他 VC 作为容器。我尝试使用viewWillTransitionToSize
方法,但是在子 VC(在容器中)的转换接口之后无法通过触摸使用。
我不知道那是什么效果或问题。有人知道我的情况吗?
感谢所有答案!
ios - 如果我离开和返回视图控制器,为什么 viewWillTransition(to size:...) 不起作用?
我有一个UIView
名为的子类myView
,它应该在设备方向改变时重新配置自己。我正在使用中的viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)
方法UIViewController
来调用setUp()
重新配置视图的方法。我遇到的问题是它在我第一次加载该特定视图控制器时工作,但如果我导航离开然后返回它,代码将不再工作。怎么了?代码如下:
如果我改用不推荐使用的方法didRotate(from fromInterfaceOrientation: UIInterfaceOrientation)
,则代码每次都能正常工作。
ios - Xamarin.iOS:如何确定 ViewWillTransitionToSize 中的状态栏高度
我有一个包含以下内容的视图:
- a
MKMapView
, 在地图上显示一些项目 - 嵌入
UITableView
在 a 中UIView
,以显示列表中的项目
用户必须能够通过移动分隔符来显示地图或列表。
这很好用,但是在用户旋转屏幕后我遇到了一个问题:在这种情况下,列表不再正确显示。
列表的位置 是UIView
通过指定它的上边距约束来设置的:我第一次知道状态栏的高度(带有UIApplication.SharedApplication.StatusBarFrame.Height
)。
但是在旋转之后,我需要重新计算这个约束。为此,我尝试重新计算ViewWillTransitionToSize()
.
我的问题是在调用期间我没有得到预期值 ViewWillTransitionToSize()
:设置了“旧”StatusBarFrame.Height
值。
我也尝试获取状态栏状态
,UIApplication.SharedApplication.StatusBarHidden
但问题是一样的。
是否有另一种方法可以让我在旋转过程中获得正确的状态栏高度?
swift - 当您有多个视图控制器时如何检测到横向的转换
我有一个只有 4 个视图控制器的小应用程序,我想在用户切换到横向时更改布局。我想出了如何检查景观,但该功能存在于一个 viewController 类中,我不清楚如何让我的其他 viewController 在 viewWillTransition 触发时采取行动。我是否在每个视图控制器类中放置了该覆盖函数的一个版本来执行特定于它的事情?当我尝试在 segue 之后将覆盖放在两个类中时,它们都被解雇了,并且感觉不是“正确的做法”,所以我想问专家。
在应用程序启动时使用下面的代码,我设置了一个全局布尔值,以确定它是否处于横向状态,并使用 viewWillTransition 来检测更改。
所有的
ios - viewWillTransitionToSize 停止在 ios 中调用
在我的一个应用程序中,我正在使用 AVPlayerViewController 的子类。在这个类中,我使用 viewwillTransition 方法来调整旋转设备后的视图宽度和高度。但是我看到了奇怪的行为,即如果在像这样的几次尝试之后继续将方向从肖像更改为风景,然后将风景更改为肖像,这种方法本身不会触发/停止调用。
即使在关闭此视图后,剩余的屏幕也不会改变方向,这意味着 viewwillTransistion 也不会在其他类中触发,因此最终总方向更改支持消失了。
我可以知道我需要做些什么来解决这个问题,以及它发生的原因是什么。
ios - Is there a situation when traitCollectionDidChange is the only function that can not be substituted by willTransition?
Apple says that traitCollectionDidChange(... called when the iOS interface environment changes and willTransition(to:with:) Notifies the container that its trait collection changed. ok. but is there a code i must call strictly in traitCollectionDidChange and not in willTransition and not in viewWillTransition? Why do we need separate traitCollectionDidChange( function? is there condition where we can not substitute traitCollectionDidChange with willTransition???
swift - 用户滚动并在旋转后引用它后,如何获取 List 或 LazyVStack 中最后一个可见行的当前索引(id)?
我的 UI 中有一个 LazyVStack,设备旋转后显示的行与旋转前不同。甚至不靠近那些行。
在 SwiftUI 之前,我通过获取 viewWillTransition 中的最后一个可见行,然后在orientationDidChangeNotification 之后滚动到它来处理这个问题。
我在 SwiftUI 中没有找到任何方法来检测设备何时发生变化,以便我可以获得最后一行索引并在旋转后滚动到它。
是否有任何等效的 viewWillTransition 或我可以采用的任何策略来获得该功能?
ios - UICollectionView:旋转设备时保持单元格可见
我有一个包含数百个单元格的 UICollectionView。当我向下滚动到一组特定单元格并旋转设备时,以前可见的单元格大部分时间都变得不可见(contentOffset 错误)。
这是我为保持单元格可见所做的:
现在,如果在另一个 ViewController 处于活动状态时设备已旋转并且我返回到持有 UICollectionView 的 ViewController,则偏移量再次错误。这就是我所做的:
这有点工作,但对我来说似乎很老套。必须有一个更优雅的解决方案来实现这一点?