I am creating tableview with row height 100, between each row i want a 5 pixels gap. For that for each row i am adding uiview(width:320px, hight:1px) at row's 95th 'y' position . Now everything is going fine. But when i select the cell the rows selectedbackgroundview covering entire row i. But i want to set rows selectedbackgroundview height as 95.
i tried following way in cellForRowAtIndexPath
but no use, please help me out.
cell.selectedBackgroundView.frame = CGRectMake (0, 0, 320, 95);
Thanks for your answer, Finally got the solution.
We can adjust the selectedBackgroundView frame by creating the custom cell. Steps to solve the problem.
Inside that under layoutSubviews
method we can change the tableviewcell related view frames those are selectedBackgroundView
, defalut imageView
, textLabel
, detailTextLabel
frames
To change the selecteddBackgroundView frame
- (void )layoutSubviews {
// always try to set frame in layoutSubviews
[super layoutSubviews];
self.selectedBackgroundView.frame = CGRectMake(10, 0, self.frame.size.width - 20, 88);
}
To change the textLabel, detailTextLabel Frames
- (void)layoutSubviews {// always try to set frame in layoutSubviews
[super layoutSubviews];
self.textLabel.frame = CGRectMake(0, 0, 50, 20);
self.detailTextLabel.frame = CGRectMake(55, 0, 225, self.frame.size.height);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With