Size of view in Nib File for TableViewCell

107 Views Asked by At

I am trying to get UIImageView width that's in a nib file to make it circle but I am getting wrong value

Here is my code :

- (void)viewDidLoad {
[super viewDidLoad];
   //....
   UINib *cellNib = [UINib nibWithNibName:@"User_Row" bundle:nil];
   [_Menu_Table registerNib:cellNib forCellReuseIdentifier:@"user_row"];

}

In tableview :

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    User_Row *user_row = [tableView dequeueReusableCellWithIdentifier:@"user_row"];
    if (user_row == nil){
        NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"User_Row" owner:self options:nil];
        user_row = (User_Row *)[nibs objectAtIndex:0];
    }
    [user_row.user_image layoutIfNeeded];
    user_row.user_image.layer.borderWidth = 3;
    user_row.user_image.layer.borderColor = [UIColor colorWithRed:40/255 green:62/255 blue:38/255 alpha:1].CGColor;
    CALayer *cellImageLayer = user_row.user_image.layer;
    NSLog(@"width is %f", user_row.user_image.frame.size.width);
    [cellImageLayer setCornerRadius:user_row.user_image.frame.size.width/2];
    [cellImageLayer setMasksToBounds:YES];
    return user_row;
}
2

There are 2 best solutions below

0
Sandeep On
int imgHeight =  imageView.layer.frame.size.height;
int imgWidth = imageView.layer.frame.size.width;
NSLog(@"height of image %i",imgHeight);
NSLog(@"widht of image %i",imgWidth);
0
mmrayyan On

It was solved by replacing :

[user_row.user_image layoutIfNeeded];

with

user_row.frame = CGRectMake(0, 0, self.view.frame.size.width, row_height);
[user_row layoutIfNeeded];

But I want an explanation