gpt4 book ai didi

ios - 在 Storyboard 问题上制作图像 slider

转载 作者:行者123 更新时间:2023-11-29 12:31:26 25 4
gpt4 key购买 nike

我制作了一个基本的图像 slider ,通过添加 subview 它工作正常。但是我应该在 Storyboard 中做到这一点。我正在运行几乎相同的代码,但它没有运行。

我只想制作 3 张图片 slider 。

那么请问谁能告诉我我的问题出在哪里?

- (void)run{

pageNumber =3;

_scrollview = [[UIScrollView alloc] init];
_scrollview.backgroundColor = [UIColor whiteColor];
_scrollview.pagingEnabled = true;
_scrollview.bounces = false;
_scrollview.delegate = self;
_scrollview.showsHorizontalScrollIndicator = false;
_scrollview.layer.cornerRadius = 2;

_pgcontrol = [[UIPageControl alloc] init];
_pgcontrol.pageIndicatorTintColor = [UIColor colorWithWhite:0.8 alpha:1];
_pgcontrol.currentPageIndicatorTintColor = [UIColor colorWithWhite:0.6 alpha:1];
_pgcontrol.numberOfPages = pageNumber;
_pgcontrol.currentPage = 0;
[_pgcontrol sizeToFit];

UIImageView*im_ = [[UIImageView alloc] init];
im_.contentMode = UIViewContentModeScaleAspectFit;
im_.clipsToBounds = true;
im_.image = [UIImage imageNamed:@"31900.png"];

UIImageView*im1_ = [[UIImageView alloc] init];
im1_.contentMode = UIViewContentModeScaleAspectFit;
im1_.clipsToBounds = true;
im1_.image = [UIImage imageNamed:@"31901.png"];

UIImageView*im2_ = [[UIImageView alloc] init];
im2_.contentMode = UIViewContentModeScaleAspectFit;
im2_.clipsToBounds = true;
im2_.image = [UIImage imageNamed:@"31902.png"];

[_scrollview addSubview:im_];
[_scrollview addSubview:im1_];
[_scrollview addSubview:im2_];
}

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

int page_ = (int)round(scrollView.contentOffset.x / scrollView.frame.size.width);

if (page_== pageNumber-3) {
NSLog(@"page3");
}

else if (page_ == pageNumber-2){
NSLog(@"page2");
}

else if (page_ == pageNumber-1){
NSLog(@"page3");
}
_pgcontrol.currentPage = page_;
}

/////旧代码/////

- (void)imageCreater{

self.view.backgroundColor = [UIColor whiteColor];
self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

CGRect svrect_ = CGRectZero;
svrect_.size.height = self.view.bounds.size.height/3.1*2;
svrect_.size.width = self.view.bounds.size.width/3*2;

CGPoint svcenter_ = CGPointZero;
svcenter_.x = self.view.center.x;
svcenter_.y = self.view.center.y+65;

CGSize svconsize = CGSizeZero;
svconsize.height = svrect_.size.height;
svconsize.width = svrect_.size.width * 3;

CGPoint pgconcenter_ = CGPointZero;
pgconcenter_.x = self.view.center.x;
pgconcenter_.y = svcenter_.y + (svrect_.size.height/2) + 40;

CGRect btnrect_ = CGRectZero;
btnrect_.size.width = 250;
btnrect_.size.height = 50;

CGPoint btncenter_ = CGPointZero;
btncenter_.x = self.view.center.x;
btncenter_.y = self.view.bounds.size.height-65;

_backgroundimageview = [[UIImageView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:_backgroundimageview];

_scrollview = [[UIScrollView alloc] initWithFrame:svrect_];
_scrollview.center = svcenter_;
_scrollview.backgroundColor = [UIColor whiteColor];
_scrollview.contentSize = svconsize;
_scrollview.pagingEnabled = true;
_scrollview.bounces = false;
_scrollview.delegate = self;
_scrollview.showsHorizontalScrollIndicator = false;
_scrollview.layer.cornerRadius = 2;
[self.view addSubview:_scrollview];

_pgcontrol = [[UIPageControl alloc] initWithFrame:CGRectZero];
_pgcontrol.pageIndicatorTintColor = [UIColor colorWithWhite:0.8 alpha:1];
_pgcontrol.currentPageIndicatorTintColor = [UIColor colorWithWhite:0.6 alpha:1];
_pgcontrol.numberOfPages = 3;
_pgcontrol.currentPage = 0;
[_pgcontrol sizeToFit];
_pgcontrol.center = pgconcenter_;
[self.view addSubview:_pgcontrol];

UIImageView*iv_ = [[UIImageView alloc] initWithFrame:svrect_];
iv_.contentMode = UIViewContentModeScaleAspectFit;
iv_.clipsToBounds = true;
iv_.image = [UIImage imageNamed:@"31900.png"];

svrect_.origin.x += iv_.frame.size.width;

UIImageView*iv1_ = [[UIImageView alloc] initWithFrame:svrect_];
iv1_.contentMode = UIViewContentModeScaleAspectFit;
iv1_.clipsToBounds = true;
iv1_.image = [UIImage imageNamed:@"31901.png"];

svrect_.origin.x += iv1_.frame.size.width;

UIImageView*iv2_ = [[UIImageView alloc] initWithFrame:svrect_];
iv2_.contentMode = UIViewContentModeScaleAspectFit;
iv2_.clipsToBounds = true;
iv2_.image = [UIImage imageNamed:@"31902.png"];

[_scrollview addSubview:iv_];
[_scrollview addSubview:iv1_];
[_scrollview addSubview:iv2_];
}

最佳答案

试试这个:

- (void)run
{
// If you are using story board and user interface then you don't need to initialize scroll view.
_scrollview.backgroundColor = [UIColor whiteColor];
_scrollview.pagingEnabled = true;
_scrollview.bounces = false;
_scrollview.delegate = self;
_scrollview.showsHorizontalScrollIndicator = false;
_scrollview.layer.cornerRadius = 2;
_scrollview.contentSize = CGSizeMake(320*3, _scrollview.frame.size.height);

// Same for Page control you dont need to initialize it
_pgcontrol.pageIndicatorTintColor = [UIColor colorWithWhite:0.8 alpha:1];
_pgcontrol.currentPageIndicatorTintColor = [UIColor colorWithWhite:0.6 alpha:1];
_pgcontrol.numberOfPages = pageNumber;
_pgcontrol.currentPage = 0;

UIImageView *im_ = [[UIImageView alloc] initWithFrame:CGRectMake((_scrollview.frame.size.width*0),0,_scrollview.frame.size.width,_scrollview.frame.size.height)];
im_.contentMode = UIViewContentModeScaleAspectFit;
im_.clipsToBounds = true;
im_.image = [UIImage imageNamed:@"31900.png"];

UIImageView*im1_ = [[UIImageView alloc] initWithFrame:CGRectMake((_scrollview.frame.size.width*1),0,_scrollview.frame.size.width,_scrollview.frame.size.height)];
im1_.contentMode = UIViewContentModeScaleAspectFit;
im1_.clipsToBounds = true;
im1_.image = [UIImage imageNamed:@"31901.png"];

UIImageView*im2_ = [[UIImageView alloc] initWithFrame:CGRectMake((_scrollview.frame.size.width*2),0,_scrollview.frame.size.width,_scrollview.frame.size.height)];
im2_.contentMode = UIViewContentModeScaleAspectFit;
im2_.clipsToBounds = true;
im2_.image = [UIImage imageNamed:@"31902.png"];

[_scrollview addSubview:im_];
[_scrollview addSubview:im1_];
[_scrollview addSubview:im2_];
}

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
int page_ = (int)round(scrollView.contentOffset.x / scrollView.frame.size.width);

if (page_== pageNumber-3)
{
NSLog(@"page3");
}

else if (page_ == pageNumber-2)
{
NSLog(@"page2");
}

else if (page_ == pageNumber-1)
{
NSLog(@"page3");
}
_pgcontrol.currentPage = page_;
}

关于ios - 在 Storyboard 问题上制作图像 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27567402/

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