我有一个带有 Frame = {X=20,Y=88,Width=728,Height=660} 的 UIContainerView 和一个嵌入其中的 UIScrollView。
UIScrollView 报告 Frame = {X=0,Y=0,Width=768,Height=960} 在分页 UIScrollView 时导致宽度偏移 40(金色部分)。它导致以下输出向左分页一次:
但是,ContentSizeForViewInPopover 报告预期的帧大小 = {Width=728, Height=660}。如何更正 UIScrollView 框架以具有正确的大小?
这是嵌入式 UIViewController 的 ViewDidLoad() 的代码:
var pages = PageControl.Pages = 2;
Console.WriteLine("ScrollView Frame: {0}", ScrollView.Frame);
for(int i = 0; i < pages; i++)
{
RectangleF frame
frame.X = ScrollView.Frame.Width * i; // expected {728 * i} but is {768 * i}
frame.Y = 0;
frame.Size = ScrollView.Frame.Size;
Console.WriteLine("Subview frame: {0}", frame);
ScrollView.AddSubview(
new UIView(frame) {
Bounds = frame,
BackgroundColor = GetRandomColor()
});
}
ScrollView.ContentSize = new SizeF(ScrollView.Frame.Width * pages, ScrollView.Frame.Height);
Console.WriteLine("ScrollView ContentSize = {0}", ScrollView.ContentSize);