1
#import "MasterViewController.h"
#import "DetailViewController.h"

@interface MasterViewController ()
@end

@implementation MasterViewController

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
     if (self) {
          self.title = NSLocalizedString(@"Master", @"Master");
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        self.clearsSelectionOnViewWillAppear = NO;
        self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
    }
  }
  return self;
 }

   - (void)dealloc
   {
      [_detailViewController release];

    [super dealloc];
    }

   - (void)viewDidLoad
    {
       [super viewDidLoad];

     }

    - (void)didReceiveMemoryWarning
     {
         [super didReceiveMemoryWarning];
         // Dispose of any resources that can be recreated.
      }



     #pragma mark - Table View

        - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
         {
               return 1;
         }

        - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
         {
                return 5;
          }
         -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{


    return 100.0;
         }

       // Customize the appearance of table view cells.
        - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
       {
             static NSString *CellIdentifier = @"CustomCell";
             CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier: CellIdentifier];

            if (cell == nil)
          {
               cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

          }

    cell.cellDate.text=@"date";
     cell.cellDescription.text =@"Description";
     cell.cellImageview.image = [UIImage imageNamed:@"facebook.png"];
      cell.cellTitle.text = @"Title";
      return cell;


    }

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    if (!self.detailViewController) {
        self.detailViewController = [[[DetailViewController alloc] initWithNibName:@"DetailViewController_iPhone" bundle:nil] autorelease];
    }
       [self.navigationController pushViewController:self.detailViewController animated:YES];
}
    else
   {

   }
  }

@end

.h ファイル

    #import <UIKit/UIKit.h>
    #import "CustomCell.h"
    #import "XMLStringFile.h"

  @class DetailViewController;

 @interface MasterViewController : UITableViewController{


 }

 @property (strong, nonatomic) DetailViewController *detailViewController;
 @property(strong,nonatomic)CustomCell *customCell;
  @end

CustomCell.h


  #import <UIKit/UIKit.h>

  @interface CustomCell : UITableViewCell{

   IBOutlet UIImageView *cellImageview;
   IBOutlet UILabel *cellTitle; 
   IBOutlet UILabel *cellDescription;
   IBOutlet UILabel *cellDate;

 }
 @property (retain, nonatomic) IBOutlet UIImageView *cellImageview;
 @property (retain, nonatomic) IBOutlet UILabel *cellTitle;
 @property (retain, nonatomic) IBOutlet UILabel *cellDescription;
 @property (retain, nonatomic) IBOutlet UILabel *cellDate;

 @end

CustomCell.m


      #import "CustomCell.h"

      @implementation CustomCell

    @synthesize cellDate;
   @synthesize cellDescription;   
  @synthesize cellImageview;
 @synthesize cellTitle;

 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
    // Initialization code
}
return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{
[super setSelected:selected animated:animated];

// Configure the view for the selected state
}

- (void)dealloc {
    [super dealloc];
 }
@end

これは私の両方のクラスです。問題は、カスタムセルのテーブルビューデータにあります白い画面に表示できません。ここで、masterdetails ビュー テンプレートを使用して ios で作業します。ここでは、コンパイル ソース Customcell.xib に m ファイルも追加しました。サイズは 300X100 です。 これは私のCustomCell.xibです

これは私の出力画面です

問題を解決するのを手伝ってください

4

3 に答える 3

2
 if(cell == nil)
 {
     NSArray *outlets = [NSArray arrayWithArray:[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]];
     for(id obj in outlets)
     {
         if([obj isKindOfClass:[UITableViewCell class]])
         {
             cell = (CustomCell *)obj;
         }
     }
 }

あなたCustomCellXIBあなたのセルがあるところにこのコードを書いてくださいnil

編集:-これが原因である可能性があります-クラス名
を変更していないと思います。CustomCell次の手順を実行します -

  1. XIB名前付きを取り、CustomCell.xibそのビューを削除します。
  2. を取り、UITableViewCellその高さと構造を自分に合わせて設定します。
  3. を選択File's Ownerして、そのクラス名をCustomCellに変更します。これと同じことを行いUITableViewCellます ... を選択して、クラス名を に変更しCustomCellます。
  4. 次に、すべてsubViewIBOutLetsを接続します。

注:- からではなく を右クリックして選択IBOutLetsUITableViewCellFile's Ownerします。

于 2013-04-05T13:26:56.413 に答える