iPhone>设置控件的位置

时间:2009-09-07 20:18:44

标签: iphone

我正在尝试找到设置控件位置的最简单方法。

所以这可以设置对象+ 100px:

[panel setFrame:CGRectMake(
   panel.frame.origin.x, panel.frame.origin.y + 100,
   panel.bounds.size.width, panel.bounds.size.height)
];

但当然这很痛苦。

不幸的是,这不起作用:

panel.frame.origin.y += 100; // Compiler error

[panel setPosY:100];  // has no effect of my control

是不是有一种简单的方法来设定位置?

4 个答案:

答案 0 :(得分:3)

您始终可以使用对象的center属性:

panel.center = CGPointMake(panel.center.x, panel.center.y + 100);

这可能是最简单的方法。

答案 1 :(得分:2)

我所知道的最优雅的方式是:

panel.frame = CGRectOffset(panel.frame, 0.0f, 100.0f);

答案 2 :(得分:1)

这应该有效,并且比初始代码略短:

CGRect frame = panel.frame;
frame.origin.y += 100;
panel.frame = frame;

但仍然不是很漂亮。

答案 3 :(得分:0)

如果你想把它移开减少长度(所以它在同一个地方结束)你可能想尝试以下(感谢racha的想法)

    // Make space at start of label
    CGRect frame = mainLabel.frame;
    frame.origin.x += 100;
    frame.size.width -= 100;
    mainLabel.frame = frame;