IOS開發之UITableView

來源:互聯網
上載者:User

標籤:ios;uitableview;listview;圖片不能正常顯示

UITableView就相當於android中的listview,在這裡先介紹一個簡單的UItableView的用法,因為我也是剛學。而且也遇到了一些問題。直接上代碼吧

這是ViewController.h

 #import <UIKit/UIKit.h>@interface ViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>@property (nonatomic,retain) NSArray * fileList;@property (nonatomic,retain) UITableView * tableView;@end

這是ViewController.m檔案

#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    NSBundle * bundle = [NSBundle mainBundle];    NSString * plistPath = [bundle pathForResource:@"infoHeaderAndTitleAndDetile" ofType:@"plist"];    self.fileList=[[NSArray alloc] initWithContentsOfFile:plistPath];        UITableView * tView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped];    tView.delegate=self;    tView.dataSource=self;    _tableView=tView;    [self.view addSubview:_tableView];    }- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static NSString *CellWithIdentifier = @"Cell";    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellWithIdentifier];    if (cell == nil) {        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle                                      reuseIdentifier:CellWithIdentifier];    }    NSUInteger row = [indexPath row];    NSDictionary *rowDict = [self.fileList objectAtIndex:row];    cell.textLabel.text = [rowDict objectForKey :@"title"];    cell.imageView.opaque=YES;//must add this sentence,or the image will gone    cell.imageView.image = [UIImage imageNamed:[[rowDict objectForKey :@"header"] stringByAppendingString:@".jpg"]];//image must have the .jpg or other    NSLog(@"%@",cell.imageView);        cell.detailTextLabel.text = [rowDict objectForKey :@"detail"];    cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;    return cell;}- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{    return [self.fileList count];}@end

需要注意的地方有三點,也是我遇到的問題

1、兩個必須實現的協議方法,相當於java的介面的抽象方法

-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

2、圖片不能正常顯示的原因

cell.imageView.opaque=YES;//must add this sentence,or the image will gone

這個opaque屬性要設為YES,預設是NO

3、圖片無需寫路徑,但是尾碼名一定要寫,比如.jpg,.png

本文出自 “靈哥筆記” 部落格,請務必保留此出處http://kinghacker.blog.51cto.com/7767090/1677432

IOS開發之UITableView

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.