如何在iOS中更改视图的顶部填充?

如何在iOS中更改视图的顶部填充?,ios,user-interface,Ios,User Interface,我想在切换按钮时将视图的顶部填充更改为80。如何做到这一点?基本上,我希望视图顶部和文本之间有80的空间。如果使用自动布局,那么最简单的方法是为文本和视图顶部之间的距离创建约束。您可以在代码中将其连接到NSLayoutConstraint,并在按下按钮时将constraint.constant设置为新值 @property (nonatomic, weak) IBOutlet NSLayoutConstraint *paddingConstraint; // Somewhere after

我想在切换按钮时将视图的顶部填充更改为80。如何做到这一点?基本上,我希望视图顶部和文本之间有80的空间。

如果使用自动布局,那么最简单的方法是为文本和视图顶部之间的距离创建约束。您可以在代码中将其连接到NSLayoutConstraint,并在按下按钮时将constraint.constant设置为新值

@property (nonatomic, weak) IBOutlet NSLayoutConstraint *paddingConstraint;


// Somewhere after the button press
self.paddingConstraint.constant = 80;
哦,您可能需要通过调用以下命令来更新布局-

[self layoutIfNeeded];

这取决于许多因素:您是自己绘制视图(在
drawRect:
中)还是一个复合视图(它作为子视图具有标签)?你是否使用自动布局?我有这样的东西:
self.contentView=[[UIView alloc]initWithFrame:contentFrame]你是如何将文本添加到视图中的?@Julia:当你问这些问题时,你需要提供更多细节,这样我们才能帮助你。那么,视图如何绘制文本呢?您是在
drawRect:
中自己绘制它,还是视图有一个
UILabel
来绘制文本?当视图保持其大小时,文本下方是否有空间?也就是说,文本是否位于最底部,或者是否存在文本可能移动到的自由空间?请编辑您的问题并尽可能多地告诉我们您的观点。现在,我们只能猜测。这不是关于iOS或开发本身,而是关于精确性。因此,如果您需要答案,请编辑您的问题,并向我们提供我们向您询问的有关视图的信息以及您认为可能相关的所有详细信息。如果您不使用autolayout,您只需要为标签创建一个新框架,以便将其向下移动。类似这样的东西-self.label.bounds=CGRectMake(self.label.bounds.origin.x,self.label.bounds.origin.y+80,self.label.bounds.size.width,self.lable.bounds.size.height);