0

InterfaceBuilder で作成したカスタム UITableViewCell を持つ UITableView があります。UITableViewCell に UIView を追加し、そのためのアウトレットも追加しました。ここで、特定の UITableViewCell での位置を知る必要があります。

カスタムUITableViewCellに次のコードを書きました

WorkentryCell.h

#import <UIKit/UIKit.h>

@interface WorkentryCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UIView *view1;
@end

WorkentryCell.m

#import "WorkentryCell.h"

@implementation WorkentryCell

@synthesize view1;

-(id)initWithCoder:(NSCoder *)aDecoder
{
   self = [super initWithCoder:aDecoder];
   if(self) {
      NSLog(@"%f, %f", self.view1.bounds.size.height, self.view1.bounds.size.width);
      NSLog(@"%f, %f", self.view1.bounds.origin.x, self.view1.bounds.origin.y);
   }
   return self;
}

-(void)setNeedsDisplay
{
    NSLog(@"%f, %f", self.view1.bounds.size.height, self.projectLabel.bounds.size.width);
    NSLog(@"%f, %f", self.view1.bounds.origin.x, self.projectLabel.bounds.origin.y);
}

しかし、私が得るものはすべて:

2012-11-14 15:01:43.943 TestApp[883:907] 0.000000、0.000000

2012-11-14 15:01:43.944 TestApp[883:907] 0.000000、0.000000

UIView の位置とサイズに関する情報がない理由を教えてください。

ありがとうフィリップ

4

1 に答える 1

0

init メソッドに有効なサイズがありません。このコードを setNeedsDisplay に入れる必要があります。

于 2012-11-14T14:13:36.353 に答える