2 mapmapm MapMapM 于 2012.12.24 13:53 提问

修改`IBOutletCollection`的框架

我在应用中创了带Button的IBOutletCollect:

@property (retain, nonatomic) IBOutletCollection(UIButton) NSArray *allButtons;

现在需要改一下这些按钮的位置和框架:

[_allButtons makeObjectsPerformSelector:@selector(setFrame:) withObject: ????? ];

怎么设置值?我用的方法编译器报错:

  [_allButtons makeObjectsPerformSelector:@selector(setFrame:) withObject:CGRectMake(10, 0, 0, 10)];

2个回答

redCoral_
redCoral_   2012.12.24 14:43
已采纳

CGRect不是对象,所以不能直接添加,把它放到NSValue中:

[NSValue valueWithCGRect:]

看一下NSValue的说明

g989_1314125
g989_1314125   2012.12.24 14:16

如果数组中用了block:

[allButtons enumerateObjectsUsingBlock:^(UIButton *button, NSUInteger idx, BOOL *stop){
    button.frame = newFrame;
};];
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!