xcode 5 水平滚动视图不起作用 (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)];

要使滚动视图水平滚动,内容的宽度应该大于滚动视图的实际框架。

如果你的滚动视图帧大小是(320,143),那么滚动视图的内容宽度应该大于320,这样滚动视图才能滚动。

对于水平滚动视图,你可以使用EasyTableView。

您需要习惯这些功能-水平滚动视图可以工作,它可以以不同的方式工作,包括模拟页面,您可以向左或向右滑动。

scrollview有物理尺寸(帧)和内容尺寸,scrollview的问题是内容尺寸会大于物理尺寸例如,我可以有一个930x 250的UIImageView在320 x 480的iPhone上显示

(我将跳过其余的设置-只是必要的-对于所有其他技巧,请查看apple示例项目-有很多-还请注意,许多应用程序只是使用Interface Builder使用滚动视图绘制视图)

 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];
}    

最新更新