0
我是iOS新手。我正在構建一個基本項目,我有兩個視圖控制器。 第一個命名爲tabViewController,第二個命名爲detailViewController。在tabViewController中有 我有一個collectionView。當我點擊收集視圖單元格時,它正在推送到詳細視圖控制器。詳細視圖控制器有三個圖像視圖。一個就在屏幕前(x = 0,y = 0,width = 320,height = 420)。另外兩個imageViews位於屏幕前方左側和右側的位置。兩個圖像視圖處於x = -330,y = 0,寬度= 320,高度= 420和x = 330,y = 0,寬度= 320,高度= 420的位置。考慮一下iPhone5。無法設置滾動視圖的位置
現在,發生的問題是我不能使scrollView的位置看到屏幕左側的圖像。
我寫的代碼是
- (void)viewDidLoad {
[super viewDidLoad];
_myScrollView.delegate = self;
_myScrollView.pagingEnabled = YES;
_selectedImageString = [_patternArray objectAtIndex:*(_selectedIndex)];
_strImageNext = [_patternArray objectAtIndex:*(_selectedIndex)+1];
_myScrollView.bounds = CGRectMake(_myImageView2.frame.origin.x, _myScrollView.frame.origin.y, _myScrollView.frame.size.width, _myScrollView.frame.size.height);
if (*(_selectedIndex) == 0) {
_strImagePrevious = nil;
}
else{
_strImagePrevious = [_patternArray objectAtIndex:*(_selectedIndex)-1];
}
self.navigationController.navigationBar.hidden = NO;
_myImageView.image = [UIImage imageNamed:_selectedImageString];
_myImageView.frame = CGRectMake(_myScrollView.frame.origin.x, _myScrollView.frame.origin.y, _myScrollView.frame.size.width, _myScrollView.frame.size.height);
self.myScrollView.backgroundColor = [UIColor yellowColor];
_myImageView3.image = [UIImage imageNamed:_strImageNext];
if (*(_selectedIndex) == 0) {
_myImageView2.image = nil;
}
else {
_myImageView2.image = [UIImage imageNamed:_strImagePrevious];
}
[_myScrollView setScrollEnabled:YES];
[_myScrollView setContentSize:CGSizeMake((_myImageView2.frame.size.width+_myImageView2.frame.size.width+_myImageView2.frame.size.width+_myImageView.frame.size.width+ 30.0), _myScrollView.frame.size.height)];
}
你在哪裏設置滾動的位置?在你的代碼中它只設置'contentSize'(你也應該設置'contentOffset') –
我只想知道如何使用contentOffset。你能幫我一些代碼嗎? @ Javito_009 – iPeter
您可以使用'setContentOffset:animated:'方法並傳遞'CGPointMake(x,y)',其中'x'和'y'是與您想要在左上角看到的點相對應的座標scrollView(doc:[link](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/#//apple_ref/occ/instm/UIScrollView/setContentOffset:animated :))。 –