移动以编程方式生成的按钮

时间:2013-12-11 05:02:07

标签: ios objective-c uibutton

我有一个以编程方式创建的按钮,我想在调用特定方法时将其移动到其他位置。到目前为止,我可以看到我创建的按钮,我可以移动一个不同的按钮,我将其拖放到storyboard中,但我不确定如何在代码中引用以编程方式生成的按钮来更改其位置。

生成按钮的代码:

UIButton *generatedButton = [UIButton buttonWithType:UIButtonTypeCustom];
[generatedButton addTarget:self
                    action:@selector(genButtonTouched:)
          forControlEvents:UIControlEventTouchDown];
generatedButton.frame = CGRectMake(84.0, 80.0, 70.0, 40.0);
[self.view addSubview:generatedButton];

在另一个方法中,我有更改按钮位置的代码。如果此代码与生成按钮的方法相同,则可以正常工作,但我需要将其置于不同的方法中:

[generatedButton setFrame:CGRectMake(xCoord, yCoord, buttonWidth, buttonHeight)];

2 个答案:

答案 0 :(得分:2)

在ButtonViewController.h中

@interface ButtonViewController : UIViewController{
    }

@property (retain, nonatomic) UIButton *generatedButton;

在你的ButtonViewController.m

@implementation ButtonViewController
@synthesize generatedButton;

- (void)viewDidLoad
{
generatedButton = [UIButton buttonWithType:UIButtonTypeCustom];
[generatedButton addTarget:self
                    action:@selector(genButtonTouched:)
          forControlEvents:UIControlEventTouchDown];
generatedButton.frame = CGRectMake(84.0, 80.0, 70.0, 40.0);
[self.view addSubview:generatedButton];
}

//在班级的任何地方调用按钮,如下所示: -

-(void)methodToMoveButton{
[generatedButton setFrame:CGRectMake(xCoord, yCoord, buttonWidth, buttonHeight)];
}

如果你想要别的东西,请告诉我。

答案 1 :(得分:0)

与移动故事板中添加的按钮没什么不同。创建一个实例变量来保存对生成的按钮的引用。然后,您可以使用该实例变量访问另一个方法中的按钮。