我在滚动视图中有一组uibuttons用于导航。我已经为这些按钮添加了效果,可以滑动到中心,并在点按它们时调整大小:
-(void)slideButtons:(int)selectedId forType:(NSString *)btnType {
if([btnType isEqualToString: @"somestring"]) {
if(selectedId == 1) {
//set the position to slide the button to
} else { //other positions for other id }
}
myButton.frame = CGRectMake(myButton.frame.origin.x,40,70,40);
[myScrollView setContentOffset:CGPointMake(pos, 40) animated: YES];
}
我的按钮的大小和位置分别为(70,35)和(0,45)。而scrollview的大小和位置分别为(320,40)和(0,0)。现在,当我转到另一个视图控制器(使用segue)然后弹回到该视图时,按钮消失并在我滑动内容后重新出现。每当我尝试滑动滚动视图本身时,按钮也会消失。我没有添加任何代码来隐藏它。为什么会这样?我该怎么处理?请帮忙。
我不确定这是否有帮助,但我已禁用自动布局以对视图进行更改,然后再次启用它仍会出现同样的问题。
答案 0 :(得分:1)
这可能是一个自动布局问题。如果打开(默认情况下),则不应直接更改任何帧,而应使用约束进行移动或调整大小。要么关闭自动布局,要么用它来滑动按钮。
答案 1 :(得分:0)
尝试使用而不是
[myScrollView setContentOffset:CGPointMake(pos,40)animated:YES];
这样的:
myScrollView scrollRectToVisible:myButton.frame animated:YES];