2012-12-13 96 views
1

默認情況下,我們都知道,視圖的原點位於iPhone屏幕的左上角。 我試圖做一些非常簡單的事情,沒有運氣,要改變它! 我想設置我的UIScrollView的起源到左下角(以編程方式ofc)。 我希望避免轉換(如果需要)......是否有一個簡單的方法來做到這一點?ios設置UIScrollView的原始位置

感謝您的幫助:)

回答

0

此類別會給你可以使用它的左下角原點來操縱一個UIView一個方便的特性:

@interface UIView (LowerLeftOrigin) 

@property (nonatomic, assign) CGPoint lowerLeftOrigin; 

@end 


@implementation UIView (LowerLeftOrigin) 

- (void) setLowerLeftOrigin:(CGPoint)lowerLeftOrigin 
{ 
    self.frame = CGRectMake(lowerLeftOrigin.x, 
          lowerLeftOrigin.y - self.bounds.size.height, 
          self.bounds.size.width, self.bounds.size.height); 
} 

- (CGPoint) lowerLeftOrigin 
{ 
    return CGPointMake(self.frame.origin.x, 
         self.frame.origin.y + self.bounds.size.height); 
} 

@end 
1
[self.scrollView setFrame:CGRectMake(0,self.view.frame.size.height,self.view.frame.size.width, -self.view.frame.size.height]; 

我不知道是什麼你在尋找,但上面的行會在左下方設置scrollview的原點,但如果這就是你要找的東西,那麼scrollview在整個視圖中仍然可見。

0

我假設你想製作一個適合你視圖左下角的滾動視圖。

你可以這樣做。假設您的滾動視圖的大小爲100x100。

UIScrollView* sc = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 360, 100, 100)]; 
    [self.view addSubview:sc]; 

該滾動視圖的左下角與您的視圖具有相同點。

0

試試這個:

您可以留下其他爲默認改變一個任何一個位置

1.Before修改

UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,320,500)]; 

2.如果需要修改任何一個

UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10,self.view.frame.origin.y,self.view.frame.size.width,self.view.frame.size.height)]; 

// or 

UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x,10,self.view.frame.size.width,self.view.frame.size.height)]; 

//or 

UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x,self.view.frame.origin.y,320,self.view.frame.size.height)]; 

//or 

UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x,self.view.frame.origin.y,self.view.frame.size.width,500)]; 
0

self.scrollView財產contentOffset