iphone:uiscrollview没有';卷轴?但contentsize已设置。。?

iphone:uiscrollview没有';卷轴?但contentsize已设置。。?,iphone,uiscrollview,scroll,Iphone,Uiscrollview,Scroll,大家好, 我有一些数据,希望在导航堆栈中的新视图中显示这些数据 我用XIB文件创建了一些新的viewcontroller类。然后,我编辑了XIB文件并放置了以下层次结构: 1 files owner 2 first responder 3 scrollview 3.1 view 3.1.1 label1 3.1.2 label2 3.1.3 label3 3.1.4 image4 我整理了标签和图片。标签的内容可能会有所不同,它们的大小应该是动态的。我还完成了viewcontroller类中的

大家好, 我有一些数据,希望在导航堆栈中的新视图中显示这些数据

我用XIB文件创建了一些新的viewcontroller类。然后,我编辑了XIB文件并放置了以下层次结构:

1 files owner
2 first responder
3 scrollview
3.1 view
3.1.1 label1
3.1.2 label2
3.1.3 label3
3.1.4 image4
我整理了标签和图片。标签的内容可能会有所不同,它们的大小应该是动态的。我还完成了viewcontroller类中的IBOutlets,并正确连接了所有内容。文件所有者的视图委托设置为“查看”

然后加载viewcontroller,并在“viewDidLoad”方法中执行以下操作:

- (void)viewDidLoad {
[super viewDidLoad];

self.currentPageURL.text = [self.offerItem objectForKey: @"page-url"];
self.currentPrice.text = [self.offerItem objectForKey: @"price"];
self.currentRank.text = [self.offerItem objectForKey: @"rank"];
self.currentName.text = [self.offerItem objectForKey: @"name"];
self.currentProducerName.text = [self.offerItem objectForKey: @"producer-name"];

self.currentDescription.text = [self.offerItem objectForKey: @"description"];

self.imageViewForImage.image = [helperClass resizeImage:[self.offerItem objectForKey: @"picture"] forSize:CGSizeMake(280.0, 280.0) ];

[theScrollview setScrollEnabled:YES];
[theScrollview setContentSize:CGSizeMake(320, 1200)];
[theScrollview flashScrollIndicators];

[theScrollview addSubview:theView];
}

当我在模拟器中启动应用程序时,所有内容都会显示出来,但如果我尝试滚动,什么也不会发生


我做错了什么

立即将Scroll view的框架更改为320x480,您应该会看到滚动。

自动布局在视图加载后设置一些约束,因此,选择在viewDidLoad中设置内容大小的代码并放入ViewDidDisplay,您的代码将不会被重写

这对我有用

-(void)viewDidAppear:(BOOL)animated{
  [self.scrollView setContentSize:CGSizeMake(320, 1000)];
}
对不起,我的英语很差

确保IB文档属性中的“使用自动布局”未选中。我遇到了完全相同的问题,设置了正确的contentSize和all,但启用了此功能后,滚动始终被禁用

更新要使用自动布局,请在ViewDidDisplay方法中显式设置scrollView内容的宽度和高度,如下所示:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    // set the scrollview to the specified size
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    [scrollView setContentSize:CGSizeMake(screenRect.size.width, 1100)];

    [scrollView setBounds:CGRectMake(0, 0, screenRect.size.width, screenRect.size.height)];

    [scrollView setScrollIndicatorInsets:UIEdgeInsetsFromString(@"{0,0,0,-1.0}")];

}

视图的帧大小是多少?
3.1
?我在IB中将大小设置为320x1200。。scrollview在IB中也设置了320x1200。我这样做了,但问题仍然存在。。scrollview在IB中是320x480,下面的视图是320x1200。所以基本上你可以看到部分内容,但不能滚动?“userInteractionEnabled”属性如何?是否设置为YES?是的,在IB中设置了它,我还添加了[theScrollview setUserInteractionEnabled:YES];以编程方式在上面的ViewDidLoad方法中-无反应,无滚动。。。我贴在上面的堆栈正确吗?scrollview是否将视图作为子视图?scrollview有iphone屏幕的尺寸,可以查看整个内容的尺寸?等等?
self.view是否引用了
view
at
3.1
?就是这样,谢谢Deepak的帮助!!问题是我没有将文件所有者的标准视图出口设置为scrollview,它仍然设置为view 3.1我将“view”-标准出口设置为scrollview,现在一切正常!!天啊,我花了5个小时才弄明白。。再次感谢你,迪帕克!为什么这样做?您应该在ViewDidDisplay中声明内容!为我工作!您可以从scrollview中的内容计算宽度/高度,而不是使用CGSizeMake。