@@ -134,18 +134,21 @@ - (void)viewWillDisappear:(BOOL)animated {
134134- (void )viewDidLayoutSubviews {
135135 [super viewDidLayoutSubviews ];
136136 self.topToolBarView .frame = CGRectMake (0 , 0 , CGRectGetWidth (self.view .bounds ), TopToolBarViewHeight);
137- self.backButton .frame = CGRectSetXY (self.backButton .frame , 8 , [self .backButton qmui_minYWhenCenterInSuperview ]);
138- if (!_singleCheckMode) {
139- self.checkboxButton .frame = CGRectFlatted (CGRectSetXY (self.checkboxButton .frame , CGRectGetWidth (self.topToolBarView .frame ) - 10 - CGRectGetWidth (self.checkboxButton .frame ), [self .checkboxButton qmui_minYWhenCenterInSuperview ]));
137+
138+ CGFloat topToolbarPaddingTop = [[UIApplication sharedApplication ] isStatusBarHidden ] ? 0 : StatusBarHeight;
139+ CGFloat topToolbarContentHeight = CGRectGetHeight (self.topToolBarView .bounds ) - topToolbarPaddingTop;
140+ self.backButton .frame = CGRectSetXY (self.backButton .frame , 8 , topToolbarPaddingTop + CGFloatGetCenter (topToolbarContentHeight, CGRectGetHeight (self.backButton .frame )));
141+ if (!self.checkboxButton .hidden ) {
142+ self.checkboxButton .frame = CGRectSetXY (self.checkboxButton .frame , CGRectGetWidth (self.topToolBarView .frame ) - 10 - CGRectGetWidth (self.checkboxButton .frame ), topToolbarPaddingTop + CGFloatGetCenter (topToolbarContentHeight, CGRectGetHeight (self.checkboxButton .frame )));
140143 }
141144 UIImage *downloadRetryImage = [self .downloadRetryButton imageForState: UIControlStateNormal];
142- self.downloadRetryButton .frame = CGRectFlatted ( CGRectSetXY (self.downloadRetryButton .frame , CGRectGetWidth (self.topToolBarView .frame ) - 10 - downloadRetryImage.size .width , [ self .downloadRetryButton qmui_minYWhenCenterInSuperview ] ));
145+ self.downloadRetryButton .frame = CGRectSetXY (self.downloadRetryButton .frame , CGRectGetWidth (self.topToolBarView .frame ) - 10 - downloadRetryImage.size .width , topToolbarPaddingTop + CGFloatGetCenter (topToolbarContentHeight, CGRectGetHeight ( self.downloadRetryButton . frame ) ));
143146 /* 理论上 progressView 作为进度按钮,应该需要跟错误重试按钮 downloadRetryButton 的 frame 保持一致,但这里并没有直接使用
144- * self.progressView.frame = self.downloadRetryButton.frame,这是因为 self.downloadRetryButton 具有 1pt 的 top
147+ * self.progressView.frame = self.downloadRetryButton.frame,这是因为 self.downloadRetryButton 具有 1pt 的 top
145148 * contentEdgeInsets,因此最终的 frame 是椭圆型,如果按上面的操作,progressView 内部绘制出的饼状图形就会变成椭圆型,
146149 * 因此,这里 progressView 直接拿 downloadRetryButton 的 image 图片尺寸作为 frame size
147150 */
148- self.progressView .frame = CGRectMake (CGRectGetMinX (self.downloadRetryButton .frame ), CGRectGetMinY (self.downloadRetryButton .frame ) + self.downloadRetryButton .contentEdgeInsets .top , downloadRetryImage.size .width , downloadRetryImage.size .height );
151+ self.progressView .frame = CGRectFlatMake (CGRectGetMinX (self.downloadRetryButton .frame ), CGRectGetMinY (self.downloadRetryButton .frame ) + self.downloadRetryButton .contentEdgeInsets .top , downloadRetryImage.size .width , downloadRetryImage.size .height );
149152}
150153
151154- (void )setToolBarBackgroundColor : (UIColor *)toolBarBackgroundColor {
@@ -362,7 +365,7 @@ - (void)requestImageForZoomImageView:(QMUIZoomImageView *)zoomImageView withInde
362365 } else {
363366 imageView.contentMode = UIViewContentModeCenter;
364367 }
365-
368+
366369 imageView.image = result;
367370
368371 BOOL downlaodSucceed = (result && !info) || (![[info objectForKey: PHImageCancelledKey] boolValue ] && ![info objectForKey: PHImageErrorKey] && ![[info objectForKey: PHImageResultIsDegradedKey] boolValue ]);
0 commit comments