我有一个以编程方式创建的按钮,我想在调用特定方法时将其移动到其他位置。到目前为止,我可以看到我创建的按钮,我可以移动一个不同的按钮,我将其拖放到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)];
答案 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)
与移动故事板中添加的按钮没什么不同。创建一个实例变量来保存对生成的按钮的引用。然后,您可以使用该实例变量访问另一个方法中的按钮。