Ios 容器视图中的UIScrollView具有不正确的帧大小
我有一个UIContainerView,其中Frame={X=20,Y=88,Width=728,Height=660}和一个嵌入其中的UIScrollView UIScrollView报告Frame={X=0,Y=0,Width=768,Height=960},这会在分页UIScrollView时导致宽度偏移40(黄金部分)。它导致以下输出向左翻页一次: 但是,ContentSizeForViewInPopover报告预期的帧大小={Width=728,Height=660}。如何更正UIScrollView框架以使其具有正确的大小 以下是嵌入式UIViewController的ViewDidLoad()代码:Ios 容器视图中的UIScrollView具有不正确的帧大小,ios,xamarin.ios,uikit,xamarin,Ios,Xamarin.ios,Uikit,Xamarin,我有一个UIContainerView,其中Frame={X=20,Y=88,Width=728,Height=660}和一个嵌入其中的UIScrollView UIScrollView报告Frame={X=0,Y=0,Width=768,Height=960},这会在分页UIScrollView时导致宽度偏移40(黄金部分)。它导致以下输出向左翻页一次: 但是,ContentSizeForViewInPopover报告预期的帧大小={Width=728,Height=660}。如何更正UIS
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);
var pages=PageControl.pages=2;
WriteLine(“ScrollView框架:{0}”,ScrollView.Frame);
对于(int i=0;i
再次检查父视图UIViewController
下的IB
属性检查器布局部分下的“调整滚动视图插入”是否未选中。我遇到了一个类似的问题,让我有一段时间被绊倒了,这就是我需要做的所有事情,以获得正确的布局。在IOS 7.0中
使用self.automaticallyAdjustsScrollViewInsets=NO;在ViewDidLoad中,尝试在代码中创建UIScrollView,显然设计器会覆盖您在代码中应用的任何调整。调用[self.ScrollView layoutifneed];在这条线之前
frame.X = ScrollView.Frame.Width * i; // expected {728 * i} but is {768 * i}
它与我一起工作,goodluck您的代码中在哪里创建了UIScrollView?您必须将其框架(而不是ContentSize!)设置为superview的边界,并为其提供适当的自动调整大小设置。UIScrollView设置在UIView上,该UIView位于故事板上的UIContainerView中。未显式创建UIScrollView。