众所周知,默认情况下,视图的原点位于 iPhone 屏幕的左上角。我正在尝试做一些非常简单但没有运气的事情来改变它!我想将我的 UIScrollView 的原点设置为左下角(以编程方式 ofc)。我希望避免转换(如果需要)......有没有一种简单的方法可以做到这一点?
感谢你的帮助 :)
众所周知,默认情况下,视图的原点位于 iPhone 屏幕的左上角。我正在尝试做一些非常简单但没有运气的事情来改变它!我想将我的 UIScrollView 的原点设置为左下角(以编程方式 ofc)。我希望避免转换(如果需要)......有没有一种简单的方法可以做到这一点?
感谢你的帮助 :)
[self.scrollView setFrame:CGRectMake(0,self.view.frame.size.height,self.view.frame.size.width, -self.view.frame.size.height];
我不确定您在寻找什么,但上面的行会将滚动视图的原点设置在左下方,但如果您正在寻找,滚动视图仍将在整个视图中可见。
我假设您想要制作一个适合视图左下角的滚动视图。
你可以这样做。假设您的滚动视图的大小为 100x100。
UIScrollView* sc = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 360, 100, 100)];
[self.view addSubview:sc];
该滚动视图的左下角与您的视图具有相同的点。
尝试这个:
您可以通过将其他位置保留为默认值来更改任何一个位置
1.修改前
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)];
self.scrollView
财产contentOffset
此类别将为您提供一个方便的属性,可用于通过其左下方原点操作 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