本文實例為大家分享了iOS使用UICollectionView實現橫向滾動展示照片的具體代碼,供大家參考,具體內容如下
創(chuàng)新互聯公司是一家專注于成都網站建設、成都網站設計與策劃設計,柳河網站建設哪家好?創(chuàng)新互聯公司做網站,專注于網站建設十載,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:柳河等地區(qū)。柳河做網站價格咨詢:18980820575這是Demo鏈接
效果圖
思路
1. 界面搭建
界面的搭建十分簡單,采用UICollectionView和自定義cell進行搭建即可。
// ViewController.m // 下面使用到的宏和全局變量 #define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen mainScreen].bounds.size.height static NSString *const cellID = @"cellID"; // 創(chuàng)建collectionView的代碼 - (void)setupCollectionView { // 使用系統(tǒng)自帶的流布局(繼承自UICollectionViewLayout) UICollectionViewFlowLayout *layout = ({ UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; // 每個cell的大小 layout.itemSize = CGSizeMake(180, 180); // 橫向滾動 layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; // cell間的間距 layout.minimumLineSpacing = 40; //第一個cell和最后一個cell居中顯示(這里我的Demo里忘記改了我用的是160,最后微調數據cell的大小是180) CGFloat margin = (ScreenW - 180) * 0.5; layout.sectionInset = UIEdgeInsetsMake(0, margin, 0, margin); layout; }); // 使用UICollectionView必須設置UICollectionViewLayout屬性 UICollectionView *collectionView = ({ UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; collectionView.center = self.view.center; collectionView.bounds = CGRectMake(0, 0, ScreenW, 200); collectionView.backgroundColor = [UIColor brownColor]; // 這里千萬記得在interface哪里寫!?。? collectionView.dataSource = self; [collectionView setShowsHorizontalScrollIndicator:NO]; [self.view addSubview:collectionView]; collectionView; }); // 實現注冊cell,其中PhotoCell是我自定義的cell,繼承自UICollectionViewCell UINib *collectionNib = [UINib nibWithNibName:NSStringFromClass([PhotoCell class]) bundle:nil]; [collectionView registerNib:collectionNib forCellWithReuseIdentifier:cellID]; } // UICollectionViewCellDataSource - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 10; } - (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { PhotoCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath]; // 圖片名是 0 ~ 9 cell.imageName = [NSString stringWithFormat:@"%ld", (long)indexPath.row]; return cell; }
另外有需要云服務器可以了解下創(chuàng)新互聯建站www.cdcxhl.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。