ios - iPhone, 为什么设置 navigation item 的alpha值会改变 self.view.frame?
PHPz
PHPz 2017-04-18 09:07:40
0
2
296

我使用了一个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,请问这是怎么回事呢?

PHPz
PHPz

学习是最好的投资!

membalas semua(2)
PHPzhong

Anda boleh cuba mematikan penyesuaian automatik paparan skrol

迷茫

Kemungkinan reka letak dicetuskan. Tetapan sifat bagi banyak kawalan boleh mencetuskan reka letak.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan