2013-08-16 43 views
0

1)我有一个长度为10的数组,并命名为'pointArrar'。该数组在每个索引上包含CGPoints
2)另外我有10个按钮。
现在我想从CGPoint数组中设置Buttons框架(只有x & y位置)。
我只想知道如何设置数组中包含的CGPoint的按钮x和y位置。从CGPoint数组设置按钮框(仅x和y位置)

回答

1

那么它非常合乎逻辑。

比方说你的阵列就像

NSArray * pointArrar = [NSArray arrayWithObjects: 
        [NSValue valueWithCGPoint:CGPointMake(5.5, 6.6)], 
        [NSValue valueWithCGPoint:CGPointMake(7.7, 8.8)], 
        nil]; 

然后添加到您需要简单地把所有的点成一个圈状

for(int i=0; i<[pointArrar count] ; i++) 
{ 
    NSValue *val = [pointArrar objectAtIndex:i]; 
    CGPoint p = [val CGPointValue]; 
    [Button setCenter:p]; 
} 

这里已经添加了所有点的各种按钮到你的按钮。希望这适用于你:)

+1

不错的工作!谢谢:))工作正常..我有一个问题,我是按钮动画,并把它们放在一个地方。我想要最近的按钮上面的所有。我使用sendSubViewToBack:方法发送前一个按钮回来,但这是行不通的...我想你的或其他的建议在这..再次感谢 –

+0

而不是你可以删除以前的按钮或隐藏它们或减少它们的阿尔法他们没有看到... – IronManGill

+0

先生其实每一个按钮都必须显示,但最近的一个会在前一个.. –

0

据我所知,你想使用NSArray它不存储任何结构。所以你可以让你NSValue包装你的观点并将它们添加到数组中。这里是一个例子..

NSArray *points = [NSArray array]; 
// wrap your point using NSValue 
NSValue *pointValue = [NSValue valueWithCGPoint:CGPointMake(x,y)]; 

[points addObject:pointValue]; 
/// ... add points 

// get your point back... 
CGPoint point = [[points objectAtIndex:index] CGPointValue]; 

button.frame = CGRectMake(point.x, point.y, button.frame.size.width, button.frame.size.height; 
+0

我有一个问题,我是动画按钮,并将它们放在一个地方。我想要all.i上面最近的按钮使用sendSubViewToBack:方法发送上一个按钮回来,但这是不工作...我希望你的或其他的建议在这 –