我有一个UIScrollView
有一个插座,在我的实现文件中,我甚至以编程方式添加了我需要的对象。当我运行我的程序时,NSLog
表示它已经启动,但在模拟器上,它什么也没显示。甚至没有任何滚动动作可见。
之前我已经完成了它,并与其他视图控制器进行了双重检查,所有内容似乎排成一行,但它仍然不想显示。我在.h和.m中声明了IBOutlet
我在数组的方法中设置了一个NSDictionary
,其中包含了我在scrollview上需要的对象。
然后我告诉它将它添加到子视图[self.scrollview addSubview:someView]
; someview是主要对象,其他对象位于顶部。这之前有用,但由于某种原因,此时无法正常工作。我还确保将数组的方法添加到viewDidLoad
方法中。我在故事板中连接了插座,但没有得到视觉效果。我正在使用lorempixel来填充图像,如前所述,它正在处理另一个VC但不在此处。这可能是我想念的简单事情。谢谢你的帮助。
- (void)addItemsToThis:(NSMutableArray *)anArray {
int i = 0;
float contentHeight = firstRowGutterY;
for (NSDictionary *item in checkout) {
int row = (int) i / 3;
float xOffset = i % 3 == 0 ? firstColumnGutterX : (i % 3) * itemContainerWidth + (xGutter * (i % 3) + firstColumnGutterX);
float yOffset = i < 3 ? firstRowGutterY : firstRowGutterY + (row * itemContainerHeight) + (row * yGutter);
UIView *itemCont = [[UIView alloc] initWithFrame:CGRectMake(xOffset, yOffset, itemContainerWidth, itemContainerHeight)];
[itemCont setBackgroundColor:[UIColor clearColor]];
UIView *whiteBox = [[UIView alloc] initWithFrame:CGRectMake(0, 6, 88, 112)];
[whiteBox setBackgroundColor:[UIColor whiteColor]];
UIButton *delete = [[UIButton alloc]initWithFrame:CGRectMake(70, 2, 24, 26)];
UIImage *main = [UIImage imageWithData:[NSData dataWithContentsOfURL:[item objectForKey:@"image"]]];
UIButton *imageBtn = [[UIButton alloc]initWithFrame:CGRectMake(6, 6, 78, 78)];
[imageBtn setBackgroundImage:main forState:UIControlStateNormal];
[whiteBox addSubview:imageBtn];
[itemCont addSubview:whiteBox];
[itemCont addSubview:delete];
[self.scrollview addSubview:itemCont];
i++;
if (i % 3 == 0) {
contentHeight += itemContainerHeight + yGutter;
}
NSLog(@"%f", contentHeight);
}
self.scrollview.contentSize = CGSizeMake(self.scrollview.contentSize.width, contentHeight);
}
答案 0 :(得分:0)
请检查您是否错过了以下任何步骤 -
故事板 - 禁用自动布局。 UIScrollView
和自动布局之间的关系与自动布局的其他方面不同。有关解决方案,请参阅此thread -
在View Controller
上 - 选择自由形式&#39;
在viewDidLoad
中,假设您在自己设置了相同的高度
故事板的View
和Scroll View
。
[myScroll setScrollEnabled:YES]; [myScroll setContentSize:CGSizeMake(320, 3000)];
如果无效,请尝试从中实现简单的Scroll View
刮。你最终会找出问题所在。