使用自动布局我有一个包含UITableViewCell
的nib文件。单元格包含一个图像,它拥抱屏幕的右侧,它为iPhone 5而不是6(它朝向屏幕的中间)。我有四个限制因素:
我也尝试在
中设置框架- (void)awakeFromNib {
[self setFrame:CGRectMake(0, 0, [[UIScreen mainScreen]bounds].size.width, 95)];
}
答案 0 :(得分:0)
希望这会对你有所帮助, 我一直困惑到你要求的东西
如果你的单元格不适合屏幕,那么给它适当的约束,如果你通过nib制作自定义单元格,如果你以编程方式制作单元格,那么也通过代码给出约束。您可以使用Autolayout Constraints工具来简化此过程。
如果你想改变那个图像的约束w.r.t diff。设备,然后此代码将帮助您
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *trailingSpace;
-(void)viewDidLayoutSubviews
{
if([UIScreen mainScreen].bounds.size.height<=568)
{
}
else
{
self. trailingSpace.constant = what_ever_value(like,60);
}
}
答案 1 :(得分:0)
在TableViewController中为表提供约束。添加这些约束:
答案 2 :(得分:0)
对于自动布局,您应该将这些约束用于图像视图。
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中现在观看时完全相同的比例进行查看。
答案 3 :(得分:-1)