Maison > Questions et réponses > le corps du texte
我使用了一个UIPanGestureRecognizer,在UIPanGestureRecognizer的滚动事件selector中,我需要不断的去改变navigation item的alpha值.代码入下:
-(void)scrollSlideView:(UIPanGestureRecognizer *) panGesture{
[self hideTopview:self.slideMultiViewController.view.frame.origin.y];
}
-(void)hideTopview:(CGFloat) alpha{
alpha = (alpha - 64)/100;
float adjustAlpha;
if (alpha < 0) {
alpha = 0;
}
if (alpha < 0.5) {
self.navigationItem.rightBarButtonItem = self.rightBarItemSmall;
self.navigationItem.titleView = self.naviShopName;
self.naviShopName.frame = CGRectMake(0, 0, 200, 30);
self.naviShopName.alpha =0;
self.naviRightViewSmall.alpha = 0;
adjustAlpha = (alpha)/0.5;
self.naviShopName.alpha =1 - adjustAlpha;
self.naviRightViewSmall.alpha = 1 - adjustAlpha;
}
if(alpha > 0.5){
self.navigationItem.rightBarButtonItem = self.rightBarItemFull;
self.navigationItem.titleView = nil;
if (alpha>1) {
adjustAlpha = 1;
}
else{
adjustAlpha = (alpha - 0.5)/0.5;
}
self.naviRightViewFull.alpha = adjustAlpha;
}
}
最初我的view.frame.height = 668,但是执行hideTopview以后,view.frame.height = 568,请问这是怎么回事呢?
PHPz2017-04-18 09:09:40
Vous pouvez essayer de désactiver l'adaptation automatique de scrollview
迷茫2017-04-18 09:09:40
Il est probable que la mise en page soit déclenchée. Les paramètres de propriété de nombreux contrôles peuvent déclencher la mise en page.