我不知道该怎么问这个问题,但这里…
我正在将PDF页面呈现到视图中并将其添加到uiviewcontroller。工作正常,除了一些PDF文件。
出于某种原因,代码对某些PDF文件执行不同的路径。当从PowerPoint创建PDF时会发生这种情况。在AddSubView调用之后,它将通过一个路径来更改PDF视图的框架。我为pdfviewcontroller.view.frame添加了一个观察器,跟踪如下:
0 -[PDFViewController observeValueForKeyPath:ofObject:change:context:]
1 NSKVONotify
2 -[NSKeyValueObservance observeValueForKeyPath:ofObject:change:context:]
3 NSKVONotify
4 -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:]
5 _NSSetRectValueAndNotify
6 -[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]
7 -[UIView(Internal) _didMoveFromWindow:toWindow:]
8 -[UIView(Hierarchy) _postMovedFromSuperview:]
9 -[UIView(Internal) _addSubview:positioned:relativeTo:]
10 -[UIView(Hierarchy) addSubview:]
11 (rest of trace is expected)
对于大多数PDF文件,这是正常的。但是对于一些人来说,添加的视图的框架在
[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]
. 原点的Y坐标向下移动43个像素,高度降低20%左右。我找不到该方法内部发生的任何信息,它似乎是uiviewcontroller内部的。
有人知道为什么要修改框架吗?至少向正确的方向推动一下?
事先谢谢。
编辑:
现在我很确定
[uiviewController viewDidMoveToWindow:应该显示或消失:]
搞砸了。我实现了一个空
-viewDidMoveToWindow:(UIWindow *)shouldAppearOrDisappear:(BOOL)flag
方法在pdfviewController中,bug消失了。但这看起来并不是修复,而是可能导致应用被拒绝。& &;
有人有什么建议/意见吗?