- 我有一个包含 3 个
subivews
名为view A
,view B
,的视图view C
。 - 当我删除子视图时,意味着我需要自动设置边距以进行调整。
- 当我删除
view A
手段时,剩余views
的必须自动向上移动。
注意:不在autolayout
. 请告诉它如何可能在automask
subivews
名为view A
, view B
,的视图view C
。view A
手段时,剩余views
的必须自动向上移动。注意:不在autolayout
. 请告诉它如何可能在automask
它不会自动工作,您需要编程一下,您可以尝试以下代码来实现这一点,
//Adding Delete Tap Gesture
-(void)addGestureToSubViews{
for(UIView *view in parent.subviews){
UITapGestureRecognizer *gesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(deleteAction:)];
[view addGestureRecognizer:gesture];
}
}
-(IBAction)deleteAction:(UITapGestureRecognizer *)sender{
UIView *view=sender.view;
[UIView animateWithDuration:.3 animations:^{
CGRect rect=view.frame;
rect.origin.x=view.superview.frame.size.width;
view.frame=rect;
} completion:^(BOOL finished) {
[self reArrangeSuperView:view.superview withDeletedViewFrame:view.frame];
[view removeFromSuperview];
}];
}
-(void)reArrangeSuperView:(UIView *)superView withDeletedViewFrame:(CGRect)frame{
for(UIView *view in superView.subviews){
CGRect rect=view.frame;
if(rect.origin.y>frame.origin.y){
rect.origin.y=frame.origin.y;
}
[UIView animateWithDuration:.3 animations:^{
view.frame=rect;
}];
}
}
我希望它有所帮助。
干杯。
为此,在属性检查器中,您必须隐藏视图以及要向上推的视图,您应该设置视图的 -contentoffset 属性。