使用自动布局,我有一个nib文件,其中包含我的UITableViewCell。该单元格包含一个包含屏幕右侧的图像,它用于iPhone 5,而不是6(它位于屏幕的中间)。我有四个制约因素:
我还试图把框架设置在
- (void)awakeFromNib {
[self setFrame:CGRectMake(0, 0, [[UIScreen mainScreen]bounds].size.width, 95)];
}发布于 2015-06-30 05:18:38
希望这能帮到你,我弄糊涂了你要什么
如果您的单元格不适合屏幕,那么给它适当的约束,如果您通过nib创建自定义单元格,如果您是以编程方式生成单元格,那么也可以通过代码提供约束。您可以使用Autolayout约束工具,使这个过程更容易。
如果你想改变那个图像的约束,w.r.tdiff。然后,这段代码将帮助您解决问题。
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *trailingSpace;
-(void)viewDidLayoutSubviews
{
if([UIScreen mainScreen].bounds.size.height<=568)
{
}
else
{
self. trailingSpace.constant = what_ever_value(like,60);
}
}发布于 2015-06-30 05:18:55
在TableViewController中也给您的表提供约束。添加以下约束:
发布于 2015-06-30 05:38:56
对于自动布局,您应该在图像视图中使用这些约束。
1)尾随到Superview
2)顶层到超级视图
3)从底部到超级视图
4)纵横比
要使表视图单元格高度动态,以便在iPhone 6中正确查看,再加上您应该使用这个。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
//calculating the height according to the device height.
return self.view.frame.size.height * (80.0 / 568.0);
}这里是设计在320x568屏幕的故事板,因此我采取了568.0。通过这种方式,您的图像将在iPhone 6中查看,并且与现在在iPhone 5中查看的比例完全相同。
https://stackoverflow.com/questions/31129181
复制相似问题