Skip to content

Commit b8f528b

Browse files
committed
Merge commit 'd2b99ff061b2302be230cd442fcd7e28ed4a98f3'
2 parents 778c9a1 + d2b99ff commit b8f528b

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

QMUI/QMUIKit/UIComponents/ImagePickerLibrary/QMUIImagePickerPreviewViewController.m

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)