0

我有一个 UITableView 和我在 InterfaceBuilder 中创建的自定义 UITableViewCell。我在 UITableViewCell 中添加了一个 UIView 并为它添加了一个 Outlet。现在我需要知道它在特定 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 回答