/*这段代码功能是添加按钮,视图上移,但是发现在上移的视图里,添加的按钮不响应,这是为什么呢?*/
-(void)showView
{
UIView *addView = [[UIView alloc] initWithFrame:CGRectMake(0, SCREENSIZE.height,SCREENSIZE.width, 80)];
[addView setBackgroundColor:[UIColor whiteColor]];
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 80, 40)];
[btn setTitle:@"相册" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(openPhoto1) forControlEvents:UIControlEventTouchUpInside];
[addView addSubview:btn];
[self.view addSubview:addView];
//计算控制器的view需要平移的距离
CGFloat moveY=0;
if (_bShowAddView==false)
moveY = -80;
else
moveY=0;
_bShowAddView=!_bShowAddView;
//
// // 4,执行动画
[UIView animateWithDuration:0.5 animations:^{
self.view.transform = CGAffineTransformMakeTranslation(0, moveY);
}];
}
-(void)openPhoto1
{
NSLog(@"test");
}
インターフェイス コントロールが親コントロールの位置を超えています。
self.viewのフレームサイズを決定し、addviewのフレームサイズを見て、次にbtnのフレーム位置のサイズを見て、各レイヤーがself.viewのフレーム内にあることを確認してください~
はい、addview は範囲外であり、アニメーションに使用されるオブジェクトが間違っています。ありがとう。
何を書きたいのか分かりませんが、 UIView *addView = [[UIView alloc] initWithFrame:CGRectMake(0, SCREENSIZE.height,SCREENSIZE.width, 80)]; の frme の Y と height は、設定が間違っている場合は、変更して
をクリックしてください。UIView是需要添加交互效果的,默认是不能接到点击效果
、クリック効果を受け入れる属性を YES に設定すると完了です親コントロールの範囲を超えているか、親コントロールの操作が許可されていません
対話する必要がある場合は、方法があります
不規則な親ビューをカスタマイズする (この質問の仕方がわからないと思います)
ビューのタッチイベントで親ビューを基準とした位置を再定義します