gpt4 book ai didi

ios - UIScrollView 从中心到左右分页

转载 作者:行者123 更新时间:2023-12-01 18:44:58 27 4
gpt4 key购买 nike

我做了一个水平的 UIScrollView,启用了分页。这使我可以“滑动”某个 View 。我遇到的问题是 ScrollView 位于左侧。我只能向左滚动(阅读:滑动)我的特定 View 。我也想让它向右滑动,所以两边。我认为这是将 UIScrollView 居中的问题。我尝试了很多东西,但都没有成功。

这是我的代码(vertScroll 是水平 ScrollView ):

    - (void)viewDidLoad {
[super viewDidLoad];


vertScroll.contentSize = CGSizeMake(3*375, 232);
vertScroll.frame = CGRectMake(0, 0, 375, 232);
vertScroll.pagingEnabled = YES;

vertScroll.scrollEnabled = YES;
vertScroll.showsHorizontalScrollIndicator = YES;

vertScroll.contentOffset = CGPointMake(375, 0);


self.navigationController.navigationBar.tintColor = [UIColor whiteColor];


[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:255.0 green:125.0 blue:71.0 alpha:1.0]];
self.navigationController.navigationBar.topItem.title = @"blabla";

[self.navigationController.navigationBar setTitleTextAttributes:
@{NSForegroundColorAttributeName:[UIColor whiteColor],
NSFontAttributeName:[UIFont fontWithName:@"StoneSansBold" size:21]}];

self.scrollView.showsVerticalScrollIndicator=YES;
self.scrollView.scrollEnabled=YES;
self.scrollView.userInteractionEnabled=YES;

self.scrollView.contentSize = CGSizeMake(320, 800);

UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];

// add effect to an effect view
self.effectView = [[UIVisualEffectView alloc]initWithEffect:blur];
self.effectView.alpha = 0.9;
self.effectView.frame = CGRectMake(self.coverImage.frame.origin.x, self.coverImage.frame.origin.y+108, self.coverImage.frame.size.width, 34);

// add the effect view to the image view
[self.coverImage addSubview:self.effectView];

[self.cellView addSubview:self.seismo];


self.seismo = [[UIImageView alloc]initWithFrame:CGRectMake(2, self.coverImage.frame.size.height/2, 40, 40)];
self.seismo.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"tmp-0.gif"],
[UIImage imageNamed:@"tmp-1.gif"],
[UIImage imageNamed:@"tmp-2.gif"],
[UIImage imageNamed:@"tmp-3.gif"],[UIImage imageNamed:@"tmp-4.gif"], nil];
self.seismo.animationDuration = 1.0f;
self.seismo.animationRepeatCount = 0;
[self.seismo startAnimating];
[self.cellView addSubview:self.seismo];
self.seismo.alpha = 0.0;

[self.cellView setFrame:CGRectMake(375, 0, 375, 232)];




// Do any additional setup after loading the view, typically from a nib.
}

附插图说明:
enter image description here

最佳答案

你应该制作 3 页,所以 contentSize 应该是一页大小的 3 倍,据我所知,这是正在发生的。

现在确保用户始终从第 2 页(中心页面)开始,通过将 contentOffset 设置为 x 坐标的 ScrollView 宽度的 1 倍和 y 坐标的 0 来执行此操作。

之后,用户应该能够左右滚动。

PS:通过查看您的代码,您似乎假设每个人都使用 iPhone 6(宽度为 375pt),您可能想要使用计算出的宽度(通过使用 self.view.frame.size.width 或相关的东西)

关于ios - UIScrollView 从中心到左右分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36941473/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com