I added an UIView
to the custom cell in UITableView
in storyboard and I access it like this:
UIView *customView = (UIView *)[cell viewWithTag:CELL_CUSTOM_VIEW_TAG];
NSLog(@"%f", customView.frame.size.width);
But I get its width 0.0000
. Am I accessing it in a wrong way?
EDIT: Here's my full cellForRow method:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
UIImageView *customImageView = (UIImageView *)[cell viewWithTag:CELL_IMAGE_VIEW_TAG];
customImageView.image = [UIImage imageNamed:@"foo.jpg"];
//down is the code why I need the frame of it
//I'm trying to make a right border to this UIImageView:
CGRect imageViewFrame = customImageView.frame;
CALayer *imageViewRightBorder = [self rightBorderWithColour:[UIColor blackColor] forView:imageViewFrame];
[customImageView.layer addSublayer:imageViewRightBorder];
return cell;
}
And here is my method for right border to the imageView:
- (CALayer *)rightBorderWithColour:(UIColor *)color forView:(CGRect)viewFrame {
CALayer *rightBorder = [CALayer layer];
rightBorder.frame = CGRectMake(viewFrame.size.width, 0.0f, 1.0f, viewFrame.size.height);
rightBorder.backgroundColor = [color colorWithAlphaComponent:1.0f].CGColor;
return rightBorder;
}