我有一个View Controller,其中有一个UITableView
。
我在xcc中将自定义UITableviewCell
与xib一起使用。
现在我有一个UITableView
与xib,我想借助AutoLayout在自定义UIView
中添加该UIView's
对象。
我在自定义UITableViewCell
中成功添加了UIView
,但是UITableViewCell
太大了,不适合我的自定义UIView
。
我知道UITableViewCell
可以在AutoLayout的帮助下正确地适合自定义UIView
,但是我不知道怎么做,因为我是AutoLayout的新手。
在我的自定义UITableViewCell
中
CustomAlertCell.m//this is my custom UITableViewCell class
-(void)addCustomView_ForRow:(int)theRow
{
JobAlertCell_View *vwJob = [[JobAlertCell_View alloc] initFromNibFile:@"JobAlertCell_View"];
vwJob.frame = CGRectMake(0, 118, vwJob.frame.size.width, vwJob.frame.size.height);
[self addSubview:vwJob];
}
这是我的
UITableViewCell
,但是在设备中,它要比我想要的大小大得多。谢谢。
最佳答案
您可以使用以下代码添加宽度和高度约束
-(void)addCustomView_ForRow:(int)theRow
{
JobAlertCell_View *vwJob = [[JobAlertCell_View alloc] initFromNibFile:@"JobAlertCell_View"];
[self addSubview:vwJob];
[self addConstraint:[NSLayoutConstraint constraintWithItem:vwJob
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:100.0]];
[self addConstraint:[NSLayoutConstraint constraintWithItem:vwJob
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:100.0]];
[self layoutIfNeeded];
}
资源:
https://codehappily.wordpress.com/2013/09/21/constant-height-width-constraint-autolayout/
https://codehappily.wordpress.com/2013/10/09/ios-how-to-programmatically-add-auto-layout-constraints-for-a-view-that-will-fit-its-superview/
希望它能帮助您...!