xcode 5水平scrollview不起作用(iOS7)

时间:2014-03-17 20:16:25

标签: ios objective-c ios7

我试图创建一个带有水平滚动视图的过滤条。 如何在iOS7的xcode 5中创建水平滚动视图?

这是我的代码:

[self.scroll setScrollEnabled:YES];
[self.scroll setDelegate:self];
self.scroll.backgroundColor = [UIColor clearColor];
scroll.contentMode = UIViewContentModeScaleToFill;
[self.scroll setContentSize:CGSizeMake(320.0,143.0)];
[self.view addSubview:scroll];
[self.scroll setContentSize:CGSizeMake(320.0,143.0)];

2 个答案:

答案 0 :(得分:1)

对于水平滚动的滚动视图,内容大小的宽度应大于滚动视图的实际帧。

如果您的滚动视图框大小为(320,143),则滚动视图的内容大小宽度应大于320,以便滚动视图滚动。

对于水平滚动视图,您可以使用EasyTableView。它使用简单。

答案 1 :(得分:0)

您将需要使用这些设施 - 水平滚动视图可以工作,它可以以不同的方式工作,包括模拟您可以向右或向左轻弹的页面。

scrollview有一个物理尺寸(框架)和一个内容大小,滚动视图的东西是内容大小将大于物理尺寸所以我可以举例说明一个930x 250的UIImageView可以在iPhone上观看320 x 480

(我将跳过剩下的设置 - 只是必要的 - 对于所有其他技巧看看苹果示例项目 - 有很多 - 请注意,许多应用程序只是使用Interface Builder来绘制用scrollview查看)

 UIScrollview *scroll = [[UIScrollview alloc] init] 

 scroll.frame = CGSizeMake (0,100,320,250);
 scroll.contentsize = CGSizeMake(930,250)     


  UIImageView *imageview = [[UIImageView alloc]init];
  imageview.image = myimage;  //(UIImage)

  [self.view addSubview:scroll];  // add subview as the bottom layer to the main view
  [scroll addSubview imageview];

以下是页面更复杂的内容:

         pagectrl.numberOfPages = 7;
pagectrl.currentPage = 0;

scrollView.pagingEnabled = YES;
scrollView.contentSize=CGSizeMake(320* pagectrl.numberOfPages, 500);
scrollView.showsVerticalScrollIndicator = NO;
scrollView.showsHorizontalScrollIndicator = YES;
scrollView.bouncesZoom = NO;
scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
scrollView.scrollsToTop = NO;


scrollView.delegate = self;
search_url.delegate = self;
user.delegate = self;
password.delegate = self;
rpc_code.delegate = self;


// add pages

int page = 0;

CGRect frame = scrollView.frame;
pagesize = frame.size.width;
frame.origin.y = 0;
frame.origin.x = frame.size.width * page;
firstView.frame = frame;
[scrollView addSubview:firstView];

page ++;
frame.origin.x = frame.size.width * page;
locsubView.frame = frame;
[scrollView addSubview:locsubView];

page ++;
frame.origin.x = frame.size.width * page;
QRgensubView.frame = frame;
[scrollView addSubview:QRgensubView];

page ++;
frame.origin.x = frame.size.width * page;
scansubView.frame = frame;
[scrollView addSubview:scansubView];

page ++;
frame.origin.x = frame.size.width * page;
symbologysubView.frame = frame;
[scrollView addSubview:symbologysubView];

page ++;
frame.origin.x = frame.size.width * page;
gaView.frame = frame;
[scrollView addSubview:gaView];

page ++;
frame.origin.x = frame.size.width * page;
upcsubView.frame = frame;
[scrollView addSubview:upcsubView];

[self registerForKeyboardNotifications];

if (gotopage == 7) {
    int xloc = ((gotopage - 1) * pagesize);
    CGRect fieldrect = CGRectMake(xloc,0,320, pagesize);

    [scrollView scrollRectToVisible:fieldrect animated:YES];

}