判斷scrollview的contentsize的高度是否超過屏幕高度。如果超過屏幕高度,可以滾動。如果不超過屏幕高度,就不能滾動。
有什麽不明白的,回復我給妳解決
如妳所說,這個類似淘寶的東西是UITableview或者UICollectionView寫的。妳可以在線看看UITableview的實現,我先給妳壹些簡單的實現邏輯。
1.在viewcontroller中聲明成員變量。
@property (nonatomic,strong)UITableView * table view;
2.惰性加載會覆蓋getter方法。註意,以下兩個代理是您顯示UI和交互的最重要的代理。
- (UITableView *)表格視圖{
如果(!_tableView) {
_ table view =[[UITableView alloc]initWithFrame:CGRectMake(0,44,SCREEN_WIDTH,SCREEN _ HEIGHT-64)style:UITableViewStyleGrouped];
_ tableView.delegate = self//代理人最重要。
_ table view . data source = self;//代理人最重要。
_ table view . background color =[ui color clear color];
_ table view . showsverticalscrollindicator = NO;
[_ table view register nib:[UINib nibWithNibName:@ " KBNoticeTableViewCell " bundle:nil]forCellReuseIdentifier:@ " KBNoticeTableViewCell "];
}
return _ tableView
}
3.?將tableview添加到viewdidload中的視圖?
【self . view add subview:self . table view】;
4.實現UITableview的代理方法
-(NSInteger)table view:(ui table view *)table view number of rowsin section:(NSInteger)section
{
返回self . data array . count;//返回* * * *中有多少行。根據不同的組,可以返回不同的行。
}
-(CG float)table view:(UITableView *)table view height for rowatendexpath:(NSIndexPath *)indexPath {
返回75;//返回每行單元格的高度。不同的行可以返回不同的高度。
}
-(CG float)table view:(UITableView *)table view heightForHeaderInSection:(NSInteger)section {
返回CGFLOAT _ MIN//返回標頭的高度,如果沒有標頭,則返回最小值。
}
-(CG float)table view:(UITableView *)table view height for footerin section:(NSInteger)section {
返回CGFLOAT _ MIN//返回頁腳的高度?如果不是,返回最小值,
}
-(UITableViewCell *)table view:(UITableView *)table view cell for rowatindexpath:(NSIndexPath *)index path {
//創建壹個單元格線。我用的是xib註冊的手機。
KBNoticeTableViewCell * cell =[table view dequeuereusablecellwithcidentifier:@ " KBNoticeTableViewCell " for index path:index path];
cell . datadic = self . data array[index path . row];
返回單元格;
}
-(void)table view:(UITableView *)table view didSelectRowAtIndexPath:(NSIndexPath *)index path {
//單擊單元格行。
}
這樣就可以實現妳說的功能了。如果不了解,可以在百度上查看UITableview的實現。很多簡單的書都寫了入門教程。