ios - 我想移动指定自动布局的 View 的位置。 (ios 6,xcode 4.5)

标签 ios ios6 iphone-5 autolayout

我想指定中心的坐标。

- (Void) viewDidLoad
{
    [super viewDidLoad];
    self.motherButton.center = CGPointMake (-100, self.motherButton.center.y);
}

在上面的代码中,motherButton 并没有移出屏幕。

你怎么走? 我想在动画中移动。

最佳答案

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    self.motherButton.center = CGPointMake (-100, 100);
}

原因

  • viewDidLoad 发生在自动布局完成之前。所以motherButton的位置被autolayout改变了
  • viewDidAppear 发生在自动布局完成之后。

注意事项

  1. 您的项目是为较旧的 ios 版本构建的吗?如果是这样,那么当启用自动布局时,Xcode 可能会添加一些约束。

  2. 您始终可以修改 nib 文件中的约束(自动布局),也可以通过编程方式修改。在 nib 文件中,单击每个 View 并查看大小检查器。

  3. 添加日志消息以检查框架大小并查看自动布局更改框架的时间和位置。

  4. 对于您以编程方式创建的 View ,setTranslatesAutoresizingMaskIntoConstraintsNO

    setTranslatesAutoresizingMaskIntoConstraints是定义在UIView/NSView中的方法,使用方式是v1.translatesAutoresizingMaskIntoConstraints = NO 其中 v1 是以编程方式创建的任何 View 。

    注意-Xcode也有帮助,按Option点击方法了解更多

  5. 观看有关自动布局介绍的 WWDC 2012 视频 video link to introduction to autolayout video

关于ios - 我想移动指定自动布局的 View 的位置。 (ios 6,xcode 4.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580908/

相关文章:

ios - UITableViewAutomaticDimension 将具有自动布局约束的单元格内容截断到底部

objective-c - iOS 中的__weak 和__strong 属性有什么区别?

ios - 在 iphone 5 和 iphone 6 中动态设置字体大小

ios - 如何折叠和展开 if 条件、循环、 "{ code }"中除 XCode 9 中的方法体之外的任何其他代码块?

ios - 在 Xcode 7 损坏的 Assets 目​​录中使用 .jpg 图像

c# - 如何在 Xamarin C# 中更改字体/颜色/大小

ios - 检测 NSString 是否为 Base64

ios - UICollectionView 的每个部分独立滚动?

ios - 为 3.5 和 4 英寸屏幕尺寸调整 UIScrollView

ios - 为 iPhone 5 屏幕和较小屏幕的设备设计