我已經設置了一個UIScrollView
,我想要顯示12個圖像(只有8個適合屏幕)水平佈局。在下面的圖片你可以看到我有(這讓我的滾動視圖不滾動),我的約束和我已經在故事板上增加了UIScrollView
問題:iOS:Autolayout導致UIScrollView無法滾動
我已要求下面的方法上-(void)viewDidLoad
,其中I 「建立」 我的滾動視圖(itemList中是我的滾動視圖屬性和itemNames中與images'names一個陣列):
- (void)setupHorizontalScrollView
{
self.itemList.delegate = self;
[self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.itemList setBackgroundColor:[UIColor blackColor]];
[self.itemList setCanCancelContentTouches:NO];
self.itemList.indicatorStyle = UIScrollViewIndicatorStyleWhite;
self.itemList.clipsToBounds = NO;
self.itemList.scrollEnabled = YES;
self.itemList.pagingEnabled = NO;
NSInteger tot=0;
CGFloat cx = 0;
for (; ; tot++) {
if (tot==12) {
break;
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[self.itemNames objectAtIndex:tot]]];
CGRect rect = imageView.frame;
rect.size.height = 40;
rect.size.width = 40;
rect.origin.x = cx;
rect.origin.y = 0;
imageView.frame = rect;
[self.itemList addSubview:imageView];
cx += imageView.frame.size.width;
}
[self.itemList setContentSize:CGSizeMake(cx, [self.itemList bounds].size.height)];
}
我已經添加了[self.itemList setTranslatesAutoresizingMaskIntoConstraints:NO];因爲我在其他帖子上看到了這個建議,但不管用或不用。它的工作原理唯一的方法是如果我在故事板上取消選中使用AutoLayout,但這會將我用作導航欄的屏幕移動到屏幕底部。 我不知道該怎麼辦了,任何幫助表示讚賞:)
我試着刪除其中的一個,但我不知道該怎麼做。你可以告訴我嗎? – dietbacon
單擊約束上的小齒輪圖標,如果它允許您將其移除,或者將其更改爲不太具體(例如變量或自動 - 因此它不關心)。 –
之後,自動佈局對於iOS/Mac用戶界面開發和UI編程將變得越來越重要。嵌入視圖確實幫助我使滾動視圖工作,同時仍然使用自動佈局的所有好處。 –