From ddfd53181b424544dfe550469e1e5a7c2b73ae4e Mon Sep 17 00:00:00 2001 From: David Liu Date: Thu, 19 Apr 2018 16:23:58 -0700 Subject: [PATCH] Move selection inversion logic from setSelect to touchUpInside for multiple selection buttons; Break otherButtons retain cycle --- .gitignore | 18 ++++----- CHANGELOG.md | 4 ++ DLRadioButton.podspec.json | 4 +- DLRadioButton.xcodeproj/project.pbxproj | 6 ++- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++ .../xcschemes/DLRadioButton.xcscheme | 4 +- DLRadioButton/DLRadioButton.m | 35 +++++++++++++----- DLRadioButtonTests/DLRadioButtonTests.m | 7 ---- Example/DLRadioButton.framework/DLRadioButton | Bin 74480 -> 73584 bytes Example/DLRadioButton.framework/Info.plist | Bin 776 -> 777 bytes .../_CodeSignature/CodeResources | 2 +- .../project.pbxproj | 6 ++- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++ .../DLDemoViewController.m | 6 +++ .../DemoViewController.swift | 6 +++ 15 files changed, 81 insertions(+), 33 deletions(-) create mode 100644 DLRadioButton.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Example/DLRadioButtonExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/.gitignore b/.gitignore index 67cacfe..9b6a948 100644 --- a/.gitignore +++ b/.gitignore @@ -5,11 +5,17 @@ # # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore -## Build generated +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) build/ DerivedData/ - -## Various settings +*.moved-aside *.pbxuser !default.pbxuser *.mode1v3 @@ -18,12 +24,6 @@ DerivedData/ !default.mode2v3 *.perspectivev3 !default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xccheckout -*.xcscmblueprint ## Obj-C/Swift specific *.hmap diff --git a/CHANGELOG.md b/CHANGELOG.md index 984bb5c..b855f40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. --- +## [1.4.12](https://github.com/DavydLiu/DLRadioButton/releases/tag/1.4.12) (04/19/2018) +* Move selection inversion logic from `setSelect` to `touchUpInside` for multiple selection buttons +* Break otherButtons retain cycle + ## [1.4.11](https://github.com/DavydLiu/DLRadioButton/releases/tag/1.4.11) (10/09/2017) * Fix disconnected action responders in Swift example. diff --git a/DLRadioButton.podspec.json b/DLRadioButton.podspec.json index 15bace0..4be18ed 100644 --- a/DLRadioButton.podspec.json +++ b/DLRadioButton.podspec.json @@ -1,6 +1,6 @@ { "name": "DLRadioButton", - "version": "1.4.11", + "version": "1.4.12", "summary": "A highly customizable Radio Button for iOS", "description": "A highly customizable Radio Button for iOS.\n\n* Buttons are drew by UIBezierPath, customize it however you want.\n* You can also use pictures to indicate buttons' selection state.\n", "homepage": "https://github.com/DavydLiu/DLRadioButton", @@ -17,7 +17,7 @@ }, "source": { "git": "https://github.com/DavydLiu/DLRadioButton.git", - "tag": "1.4.11" + "tag": "1.4.12" }, "source_files": "DLRadioButton/**/*.{h,m}", "exclude_files": "Classes/Exclude", diff --git a/DLRadioButton.xcodeproj/project.pbxproj b/DLRadioButton.xcodeproj/project.pbxproj index ab99ed1..0df0d54 100644 --- a/DLRadioButton.xcodeproj/project.pbxproj +++ b/DLRadioButton.xcodeproj/project.pbxproj @@ -168,7 +168,7 @@ 634D5B511C5D8B0F00A3740D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0900; + LastUpgradeCheck = 0930; ORGANIZATIONNAME = "David Liu"; TargetAttributes = { 634D5B591C5D8B0F00A3740D = { @@ -274,6 +274,7 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -281,6 +282,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -330,6 +332,7 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -337,6 +340,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; diff --git a/DLRadioButton.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/DLRadioButton.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/DLRadioButton.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/DLRadioButton.xcodeproj/xcshareddata/xcschemes/DLRadioButton.xcscheme b/DLRadioButton.xcodeproj/xcshareddata/xcschemes/DLRadioButton.xcscheme index 036a69b..d04b9ac 100644 --- a/DLRadioButton.xcodeproj/xcshareddata/xcschemes/DLRadioButton.xcscheme +++ b/DLRadioButton.xcodeproj/xcshareddata/xcschemes/DLRadioButton.xcscheme @@ -1,6 +1,6 @@ 0$>6bjvf>gMbxSEh;S4Vf#6_TSrnY&csgY@ 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 literal 74480 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 W(31l_Ina{>Jvq>m13fvQY5xyZF=m(m diff --git a/Example/DLRadioButton.framework/Info.plist b/Example/DLRadioButton.framework/Info.plist index f2791e394918ca3ed1c5f26798879108c7580d4a..1874b7f7fccf3fd76e01a137fdf56ee788d0212e 100644 GIT binary patch delta 114 zcmeBR>tx$-fRR1S(A>q)z-aO@#wi-cVTPuzMuz6`0>YUE8Toms#hJOKIf*6tMTUlY z#vull#s;C5u7)O)o0zP%k29WPyutXL@i!9#6AKe36E~AAlRT3PlPgm=Qw&owQzcU! SQwviEQ#VuZtNe(fRQcK(9GS)a`JJ;DH;Z0hNh0j=0@=X!kGmb`FW|unYpDoi6!|(hK70u zAqJKP2BDUYM#htynXI*sF`i_+&iIY-7vp~>W+o0ME+!c!IVNW&7p5?#Xr?5l3Z`17 RW~O$gE~cKzFPY>S`v8BVANv3R diff --git a/Example/DLRadioButton.framework/_CodeSignature/CodeResources b/Example/DLRadioButton.framework/_CodeSignature/CodeResources index ae6cdf9..e63ca0f 100644 --- a/Example/DLRadioButton.framework/_CodeSignature/CodeResources +++ b/Example/DLRadioButton.framework/_CodeSignature/CodeResources @@ -10,7 +10,7 @@ Info.plist - H2f+pX210ZzH8k+DltNm5269P9w= + h5EbFNLfZfsX9O854CrDq9aZ9qo= Modules/module.modulemap diff --git a/Example/DLRadioButtonExample.xcodeproj/project.pbxproj b/Example/DLRadioButtonExample.xcodeproj/project.pbxproj index b44b66b..81d429c 100644 --- a/Example/DLRadioButtonExample.xcodeproj/project.pbxproj +++ b/Example/DLRadioButtonExample.xcodeproj/project.pbxproj @@ -152,7 +152,7 @@ attributes = { CLASSPREFIX = DL; LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0900; + LastUpgradeCheck = 0930; ORGANIZATIONNAME = "Xingruo Liu"; TargetAttributes = { D1BE39FE19A7D263004BD3F5 = { @@ -232,12 +232,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -284,12 +286,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; diff --git a/Example/DLRadioButtonExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/DLRadioButtonExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/DLRadioButtonExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/DLRadioButtonExample/DLDemoViewController.m b/Example/DLRadioButtonExample/DLDemoViewController.m index 17e86aa..03465c3 100644 --- a/Example/DLRadioButtonExample/DLDemoViewController.m +++ b/Example/DLRadioButtonExample/DLDemoViewController.m @@ -15,6 +15,10 @@ - (void)viewDidLoad { // enable multiple selection for water, beer and wine buttons. self.waterButton.multipleSelectionEnabled = YES; + // set selection states programmatically + for (DLRadioButton *radioButton in self.waterButton.otherButtons) { + radioButton.selected = YES; + } // programmatically add button // first button @@ -46,6 +50,8 @@ - (void)viewDidLoad { } firstRadioButton.otherButtons = otherButtons; + // set selection state programmatically + firstRadioButton.otherButtons[1].selected = YES; } #pragma mark - Helper diff --git a/Example/DLRadioButtonExample/DemoViewController.swift b/Example/DLRadioButtonExample/DemoViewController.swift index 46c25e6..accaf1a 100644 --- a/Example/DLRadioButtonExample/DemoViewController.swift +++ b/Example/DLRadioButtonExample/DemoViewController.swift @@ -9,6 +9,10 @@ class DemoViewController : UIViewController { // enable multiple selection for water, beer and wine buttons. self.waterButton.isMultipleSelectionEnabled = true; + // set selection states programmatically + for radioButton in self.waterButton.otherButtons { + radioButton.isSelected = true; + } // programmatically add buttons // first button @@ -36,6 +40,8 @@ class DemoViewController : UIViewController { } firstRadioButton.otherButtons = otherButtons; + // set selection state programmatically + firstRadioButton.otherButtons[1].isSelected = true; } // MARK: Helper