2014-07-27 64 views
0

我想開發一個iOS應用程序,它可以從我的WordPress博客獲取所有文章並正確放置它們。每篇文章都有一個標題,一個圖片和一些內容。對於第一個屏幕,我想製作一些類似於定製的UITableView,但我不確定這是否是實現它的正確方法。iOS應用程序視圖選擇

http://a2.mzstatic.com/us/r30/Purple2/v4/5c/70/05/5c7005b2-ab76-33ab-e32f-5f7e861ef5e9/screen568x568.jpeg

這裏是我想不搜索欄做那種事。但是每一篇文章都會以這種方式展示自己的形象,並且在圖像下有其標題(無需預覽內容)。如果我使用UITableView,我將在所有圖像之間進行「分離」,這與這裏完成的方式不完全相同。你知道我能做到這樣嗎?我是否必須以編程方式創建圖形對象,還是使用故事板/界面生成器工具可行?

+0

如果是我 - 自定義的UITableViewCell的是這樣的我會去這個。 – Tander

+0

使用自定義的UITableViewCell或查看類似的東西cocoacontrols.com。 – satheeshwaran

+0

https://www.cocoacontrols.com/controls/openwatch - 類似的控件可能是一個你可以從頭開始的地方。 – satheeshwaran

回答

2

您應該使用自定義的UITableViewCell。這裏有資源:

https://developer.apple.com/library/ios/documentation/userexperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html

http://www.idev101.com/code/User_Interface/UITableView/customizing.html

http://www.appcoda.com/customize-table-view-cells-for-uitableview/

您可以創建與從繼承的UITableViewCell XIB CustomCell類。我們將按照以下方式在tableview類.m文件中添加類別。我認爲這是應用於自定義單元格創建的最簡單的方法。

@interface UITableViewCell(NIB) 
@property(nonatomic,readwrite,copy) NSString *reuseIdentifier; 
@end 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 30; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *[email protected]"cell"; 
    CustomCell *cell=[tableView dequeueReusableCellWithIdentifier:identifier]; 
    if(cell==nil) 
    { 
     NSLog(@"New Cell"); 
     NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     cell=[nib objectAtIndex:0]; 
     cell.reuseIdentifier=identifier; 

    }else{ 
     NSLog(@"Reuse Cell"); 
    } 
    cell.lbltitle.text=[NSString stringWithFormat:@"Level %d",indexPath.row]; 
    id num=[_arrslidervalues objectAtIndex:indexPath.row]; 
    cell.slider.value=[num floatValue]; 
    return cell; 
} 
@end 
0

對於這種事情,UICollectionView是最好的。與UITableView完全相同的代表,只是更靈活和可配置。你可以有方形的單元格,你可以設置單元格寬度,你可以向左或向右滾動等等。它用在上面的截圖中,以及instagram等。下面介紹如何實現它。

在.H:

@interface MyViewController : UIViewController <UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout> 

在.M:

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
UICollectionView *myCollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) collectionViewLayout:flowLayout]; 
[myCollectionView setDelegate:self]; 
[myCollectionView setDataSource:self]; 
[myCollectionView setIndicatorStyle:UIScrollViewIndicatorStyleBlack]; 
[myCollectionView setScrollIndicatorInsets:UIEdgeInsetsMake(0, 0, 0, -4)]; 
[myCollectionView setBackgroundColor:[UIColor whiteColor]]; 
[myCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"CustomCell"]; 
[self.view addSubview:myCollectionView]; 

那麼對於委託方法:

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView; 
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section; 
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath; 
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section; 
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section; 
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section; 
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath; 
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath; 
相關問題