我有一个View Controller,其中有一个UITableView
。
我在UITableviewCell
中使用了带有xib的自定义UITableView
。
现在我有一个带有xib的UIView
,我希望借助AutoLayout在自定义UIView's
中添加UITableViewCell
个对象。
我在自定义UIView
中成功添加了UITableViewCell
,但UIView
非常大且它不适合我的自定义< / strong> UITableViewCell
。
我知道UIView
可以在AutoLayout的帮助下适当地适应自定义UITableViewCell
,但我不知道如何,因为我是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];
}
这是我的vwJob.frame.size.height = 90
,但在设备中它比我想要的尺寸大得多。
感谢。
答案 0 :(得分:1)
您可以使用以下代码
添加宽度和高度约束 -(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/
希望它可以帮助你......!