定位按钮

时间:2011-03-24 09:48:15

标签: iphone objective-c cocoa-touch

如何动态地在我的视图上定位按钮?

4 个答案:

答案 0 :(得分:3)

试试此代码

for(UIView * view in self.view.subviews)
{
     if([view isKindOfClass:[UIButton class]])
     {
          // view is button
     }
}

您也可以使用标签

答案 1 :(得分:1)

设置UIButton的tag属性(例如,在界面构建器中,或以编程方式)。然后你可以走自己观点的孩子们:

for (UIView *view in myView.subviews) {
    if (view.tag == 101 /*or whatever you set it to*/) {
        // things...
    }
}

答案 2 :(得分:0)

使用以下方法获取视图的所有子视图的数组:

[myView subviews]

遍历该数组并通过一些独特的特征检查你的butotn。 (您可以将按钮的标记属性设置为某个唯一值并检查该值)

答案 3 :(得分:0)

好的,现在我们更好地理解这个问题......

您可以通过设置frame在运行时放置按钮/ UIComponent。这将把它放在包含按钮的视图中的给定坐标处。

myButton.frame = CGRectMake(newX, newY, myButton.frame.width, myButton.frame.height);

如果您想进行线性风格动画(无曲线),请查看CATransitions,参见iPhone UIView Animation Best Practice。如果您需要支持iOS4之前的设备,则无法使用CATransitions,并且必须使用UIView动画以旧方式执行此操作。

要制作更复杂的动画,你可能不得不乱用计时器,如果你想尝试复杂的动画路径,这可能会产生轻微的抖动效果。