Skip to content
Permalink
Browse files

3.1.6

  • Loading branch information...
MoLice committed Apr 25, 2019
1 parent 36cce76 commit 23b689c9ca24717348cbc8e49ba5c08c190f08c1
Showing with 2,178 additions and 1,726 deletions.
  1. +1 −1 QMUIKit.podspec
  2. +1 −1 QMUIKit/Info.plist
  3. +7 −9 QMUIKit/QMUIComponents/CAAnimation+QMUI.m
  4. +3 −2 QMUIKit/QMUIComponents/ImagePickerLibrary/QMUIImagePickerViewController.m
  5. +16 −26 QMUIKit/QMUIComponents/NavigationBarTransition/UINavigationBar+Transition.m
  6. +219 −151 QMUIKit/QMUIComponents/NavigationBarTransition/UINavigationController+NavigationBarTransition.m
  7. +12 −16 QMUIKit/QMUIComponents/QMUIBadge/UIBarItem+QMUIBadge.m
  8. +28 −37 QMUIKit/QMUIComponents/QMUIButton/QMUINavigationButton.m
  9. +20 −19 QMUIKit/QMUIComponents/QMUICellHeightKeyCache/UITableView+QMUICellHeightKeyCache.m
  10. +14 −13 QMUIKit/QMUIComponents/QMUICellSizeKeyCache/UICollectionView+QMUICellSizeKeyCache.m
  11. +20 −13 QMUIKit/QMUIComponents/QMUIConsole/QMUILog+QMUIConsole.m
  12. +36 −17 QMUIKit/QMUIComponents/QMUIKeyboardManager.m
  13. +16 −11 QMUIKit/QMUIComponents/QMUILogger+QMUIConfigurationTemplate.m
  14. +35 −34 QMUIKit/QMUIComponents/QMUINavigationTitleView.m
  15. +26 −32 QMUIKit/QMUIComponents/QMUISearchController.m
  16. +65 −50 QMUIKit/QMUIComponents/StaticTableView/UITableView+QMUIStaticCell.m
  17. +69 −13 QMUIKit/QMUICore/QMUIRuntime.h
  18. +1 −1 QMUIKit/QMUIKit.h
  19. +19 −26 QMUIKit/QMUIMainFrame/QMUINavigationController.m
  20. +118 −110 QMUIKit/UIKitExtensions/CALayer+QMUI.m
  21. +65 −24 QMUIKit/UIKitExtensions/NSAttributedString+QMUI.m
  22. +1 −1 QMUIKit/UIKitExtensions/NSObject+QMUI.h
  23. +14 −7 QMUIKit/UIKitExtensions/NSObject+QMUI.m
  24. +8 −10 QMUIKit/UIKitExtensions/NSPointerArray+QMUI.m
  25. +4 −15 QMUIKit/UIKitExtensions/UIBarItem+QMUI.m
  26. +52 −75 QMUIKit/UIKitExtensions/UIButton+QMUI.m
  27. +31 −23 QMUIKit/UIKitExtensions/UICollectionView+QMUI.m
  28. +8 −10 QMUIKit/UIKitExtensions/UIColor+QMUI.m
  29. +147 −98 QMUIKit/UIKitExtensions/UIControl+QMUI.m
  30. +24 −21 QMUIKit/UIKitExtensions/UIImage+QMUI.m
  31. +119 −101 QMUIKit/UIKitExtensions/UIImageView+QMUI.m
  32. +25 −42 QMUIKit/UIKitExtensions/UINavigationController+QMUI.m
  33. +3 −5 QMUIKit/UIKitExtensions/UIScrollView+QMUI.m
  34. +96 −51 QMUIKit/UIKitExtensions/UISearchBar+QMUI.m
  35. +64 −46 QMUIKit/UIKitExtensions/UITabBar+QMUI.m
  36. +91 −54 QMUIKit/UIKitExtensions/UITableView+QMUI.m
  37. +12 −23 QMUIKit/UIKitExtensions/UITableViewCell+QMUI.m
  38. +473 −364 QMUIKit/UIKitExtensions/UIView+QMUI.m
  39. +187 −151 QMUIKit/UIKitExtensions/UIViewController+QMUI.m
  40. +27 −22 QMUIKit/UIKitExtensions/UIWindow+QMUI.m
  41. +1 −1 qmui.xcodeproj/project.pbxproj
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "QMUIKit"
s.version = "3.1.5"
s.version = "3.1.6"
s.summary = "致力于提高项目 UI 开发效率的解决方案"
s.description = <<-DESC
QMUI iOS 是一个致力于提高项目 UI 开发效率的解决方案,其设计目的是用于辅助快速搭建一个具备基本设计还原效果的 iOS 项目,同时利用自身提供的丰富控件及兼容处理, 让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升。
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>3.1.5</string>
<string>3.1.6</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
@@ -26,18 +26,16 @@ @implementation CAAnimation (QMUI)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
ExchangeImplementations(self.class, @selector(copyWithZone:), @selector(qmui_copyWithZone:));
ExtendImplementationOfNonVoidMethodWithSingleArgument([CAAnimation class], @selector(copyWithZone:), NSZone *, id, ^id(CAAnimation *selfObject, NSZone *firstArgv, id originReturnValue) {
CAAnimation *animation = (CAAnimation *)originReturnValue;
animation.qmui_multipleDelegatesEnabled = selfObject.qmui_multipleDelegatesEnabled;
animation.qmui_animationDidStartBlock = selfObject.qmui_animationDidStartBlock;
animation.qmui_animationDidStopBlock = selfObject.qmui_animationDidStopBlock;
return animation;
});
});
}

- (id)qmui_copyWithZone:(NSZone *)zone {
CAAnimation *animation = [self qmui_copyWithZone:zone];
animation.qmui_multipleDelegatesEnabled = self.qmui_multipleDelegatesEnabled;
animation.qmui_animationDidStartBlock = self.qmui_animationDidStartBlock;
animation.qmui_animationDidStopBlock = self.qmui_animationDidStopBlock;
return animation;
}

- (void)enabledDelegateBlocks {
self.qmui_multipleDelegatesEnabled = YES;
BOOL shouldSetDelegator = !self.delegate;
@@ -259,8 +259,9 @@ - (void)refreshWithAssetsGroup:(QMUIAssetsGroup *)assetsGroup {
} else {
// result 为 nil,即遍历相片或视频完毕
self.isImagesAssetLoaded = YES;// 这个属性的作用描述: https://github.com/Tencent/QMUI_iOS/issues/219
[self.collectionView reloadData];
[self.collectionView performBatchUpdates:NULL completion:^(BOOL finished) {
[self.collectionView performBatchUpdates:^{
[self.collectionView reloadData];
} completion:^(BOOL finished) {
[self scrollToInitialPositionIfNeeded];
if (self.shouldShowDefaultLoadingView) {
[self hideEmptyView];
@@ -23,34 +23,24 @@ @implementation UINavigationBar (Transition)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class cls = [self class];
ExchangeImplementations(cls, @selector(setShadowImage:), @selector(NavigationBarTransition_setShadowImage:));
ExchangeImplementations(cls, @selector(setBarTintColor:), @selector(NavigationBarTransition_setBarTintColor:));
ExchangeImplementations(cls, @selector(setBackgroundImage:forBarMetrics:), @selector(NavigationBarTransition_setBackgroundImage:forBarMetrics:));
ExtendImplementationOfVoidMethodWithSingleArgument([UINavigationBar class], @selector(setShadowImage:), UIImage *, ^(UINavigationBar *selfObject, UIImage *firstArgv) {
if (selfObject.transitionNavigationBar) {
selfObject.transitionNavigationBar.shadowImage = firstArgv;
}
});

ExtendImplementationOfVoidMethodWithSingleArgument([UINavigationBar class], @selector(setBarTintColor:), UIColor *, ^(UINavigationBar *selfObject, UIColor *firstArgv) {
if (selfObject.transitionNavigationBar) {
selfObject.transitionNavigationBar.barTintColor = firstArgv;
}
});

ExtendImplementationOfVoidMethodWithTwoArguments([UINavigationBar class], @selector(setBackgroundImage:forBarMetrics:), UIImage *, UIBarMetrics, ^(UINavigationBar *selfObject, UIImage *backgroundImage, UIBarMetrics barMetrics) {
if (selfObject.transitionNavigationBar) {
[selfObject.transitionNavigationBar setBackgroundImage:backgroundImage forBarMetrics:barMetrics];
}
});
});
}

- (void)NavigationBarTransition_setShadowImage:(UIImage *)image {
[self NavigationBarTransition_setShadowImage:image];
if (self.transitionNavigationBar) {
self.transitionNavigationBar.shadowImage = image;
}
}


- (void)NavigationBarTransition_setBarTintColor:(UIColor *)tintColor {
[self NavigationBarTransition_setBarTintColor:tintColor];
if (self.transitionNavigationBar) {
self.transitionNavigationBar.barTintColor = self.barTintColor;
}
}

- (void)NavigationBarTransition_setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics {
[self NavigationBarTransition_setBackgroundImage:backgroundImage forBarMetrics:barMetrics];
if (self.transitionNavigationBar) {
[self.transitionNavigationBar setBackgroundImage:backgroundImage forBarMetrics:barMetrics];
}
}

@end

0 comments on commit 23b689c

Please sign in to comment.
You can’t perform that action at this time.