我有一个简单的问题,但我不知道为什么它不起作用。 我以编程方式创建了一个按钮,我想将“backLogin”方法添加到操作中。 奇怪的是,我没有得到任何错误,但按钮不会以任何方式响应。我在互联网上看到的任何地方,这个代码肯定都有用。 我有什么想法我做错了吗?
-(void) loginAppear{
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(20, 20, 75, 37); // position in the parent view and set the size of the button
[myButton setTitle:@"Back" forState:UIControlStateNormal];
// add targets and actions
[myButton addTarget:self action:@selector(backLogin) forControlEvents:UIControlEventTouchUpInside];
// add to a view
[myButton setAlpha:1];
[loginImage addSubview:myButton];
}
“backLogin”背后的代码已经在其他情况下起作用了:
-(void) backLogin{
CALayer *layer = loginImage.layer;
//spin frame
CABasicAnimation *anim1 =
[CABasicAnimation animationWithKeyPath: @"transform" ];
anim1.toValue = [ NSValue valueWithCATransform3D:
CATransform3DMakeRotation(180 * M_PI, 0.0, 1.0, 0) ];
anim1.duration = .2;
anim1.cumulative = YES;
anim1.repeatCount = 1;
[layer addAnimation: anim1 forKey: @"transformAnimation" ];
}
答案 0 :(得分:0)
不要将myButton添加到loginImage,而是尝试将其添加到主视图中(例如[self.view addSubview:myButton])。您可能需要更改框架坐标以正确定位按钮。