From 5edf76ba7b3ed98aef4bc31701a4f4bc11707fe4 Mon Sep 17 00:00:00 2001 From: Jonny Johansson Date: Sat, 19 Jul 2014 17:34:41 +0200 Subject: [PATCH 1/2] Support for landscape autosizing and custom widths --- MVSelectorScrollView/MVSelectorScrollView.m | 5 ++++ MVSelectorScrollView/MVSelectorScrollView.xib | 23 ++++++++++++------ MVSelectorScrollView/scroller_bg@2x.png | Bin 3903 -> 1659 bytes MVSelectorScrollView/scroller_glass@2x.png | Bin 3689 -> 1629 bytes .../en.lproj/MainStoryboard.storyboard | 6 ++--- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/MVSelectorScrollView/MVSelectorScrollView.m b/MVSelectorScrollView/MVSelectorScrollView.m index 75bc32e..41b6d58 100644 --- a/MVSelectorScrollView/MVSelectorScrollView.m +++ b/MVSelectorScrollView/MVSelectorScrollView.m @@ -29,6 +29,11 @@ -(id)initWithCoder:(NSCoder *)aDecoder{ if ((self = [super initWithCoder:aDecoder])){ NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"MVSelectorScrollView" owner:self options:nil]; UIView *view = [views objectAtIndex:0]; + + CGRect frame = view.frame; + frame.size = self.frame.size; + view.frame = frame; + [self addSubview:view]; } return self; diff --git a/MVSelectorScrollView/MVSelectorScrollView.xib b/MVSelectorScrollView/MVSelectorScrollView.xib index be7f2bd..302e96a 100644 --- a/MVSelectorScrollView/MVSelectorScrollView.xib +++ b/MVSelectorScrollView/MVSelectorScrollView.xib @@ -1,5 +1,5 @@ - + @@ -16,13 +16,14 @@ - + + - + @@ -30,15 +31,20 @@ - + - + - + + + + + + @@ -47,7 +53,8 @@ - - + + + diff --git a/MVSelectorScrollView/scroller_bg@2x.png b/MVSelectorScrollView/scroller_bg@2x.png index 78e6cfda4ec79b00ad14a1a5e77c18fecdcf33ba..7556a667024d9a762490518faddf334a67c75f96 100644 GIT binary patch literal 1659 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 LfoA1h`)B_F+V(x- diff --git a/MVSelectorScrollView/scroller_glass@2x.png b/MVSelectorScrollView/scroller_glass@2x.png index 0d5f5cbe8f445d6e64b0435b71ccec52f518b249..76cf8395051456b3bccd0a481fd83819d1cb2936 100644 GIT binary patch literal 1629 zcmeAS@N?(olHy`uVBq!ia0vp^DM0MO!3HE5dIBVYq-2R}L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6H#24ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|81#=KlDb#X~hD#E>34K5C;EJ)Q4 zN-fSWElLJPT$(b-ssbzLqSVBa{GyQj{2W*)24v)y2=9ZF3nBND}m`vLFl!_sTY(KatnYqyQCInmZhe+73JqDfW2&$iQ6q^IL(9V zO~LIJbDVnhfsWA!MJ!T8!-RmT2gHOYTObFX@Kf`Esl5o8tX+jC?q*R@I70#parx|LpXn?1Dy%QwNjsg(=Hy*KW(5-S@c0 zC2QU5XHTsoGC#7E#7-~DUGurX;*P^UiMGNJzYdO#I@Dj{;NTwDP+}uj-+R^6_p_c*=NaZ!hn7kU89V!ir$s+=jb@(N_>XOx56AK+KQAkK zst8St(VMOz!d1B@KX_$`l~ivX*PTrUtnvn;+8sY`Wo>QibxXecwyb~g#S=I4wofT! zI++rrE!O?8XlKr~tgZ8}W|cPUzLx!D7r?P?^`)$>ugb0FzW-WPd-MJGw`bFw1=AVq zUj(ebUVQBF$3hF4s2M!wbN!BQES<{KnsEA(V#=+&?e)BD&CIEDV)e5&XPwKOzA#p@Tc$T@%r_9e#^e^oFHW69Cm_n zqO?h6`?Z%!DH4nJ^@N{b*qb-i>5u;De_>yad#&r4>TOuL@n+_7&9n7+CyZ}7xxM)P sa#P^H`V(t!E)oE_2K`LjV8( literal 3689 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 f--+~Zi>#l~Njg`U?(e%2`4=$;Tj - + @@ -64,12 +64,12 @@ - + - + From 3930a1812bc609e5ba7cb73536f0b0932f51facf Mon Sep 17 00:00:00 2001 From: Jonny Johansson Date: Sat, 19 Jul 2014 17:44:17 +0200 Subject: [PATCH 2/2] Added missing file --- MVSelectorScrollView.xcodeproj/project.pbxproj | 5 +++++ MVSelectorScrollView/scroller_arrow@2x.png | Bin 0 -> 1062 bytes 2 files changed, 5 insertions(+) create mode 100644 MVSelectorScrollView/scroller_arrow@2x.png diff --git a/MVSelectorScrollView.xcodeproj/project.pbxproj b/MVSelectorScrollView.xcodeproj/project.pbxproj index dd7082a..4c8e4c7 100644 --- a/MVSelectorScrollView.xcodeproj/project.pbxproj +++ b/MVSelectorScrollView.xcodeproj/project.pbxproj @@ -24,6 +24,7 @@ 65036E56171873AA00DC527A /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 65036E4A171873AA00DC527A /* MainStoryboard.storyboard */; }; 65036E57171873AA00DC527A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 65036E4C171873AA00DC527A /* main.m */; }; 65036E59171873AA00DC527A /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 65036E50171873AA00DC527A /* ViewController.m */; }; + FBBD8DB4197AC9B7002C627A /* scroller_arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBBD8DB3197AC9B7002C627A /* scroller_arrow@2x.png */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -52,6 +53,7 @@ 65036E4E171873AA00DC527A /* MVSelectorScrollView-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MVSelectorScrollView-Prefix.pch"; sourceTree = ""; }; 65036E4F171873AA00DC527A /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 65036E50171873AA00DC527A /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + FBBD8DB3197AC9B7002C627A /* scroller_arrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "scroller_arrow@2x.png"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -108,6 +110,7 @@ 65036E39171872A100DC527A /* MVSelectorScrollView.xib */, 65036E3A171872A100DC527A /* scroller_bg@2x.png */, 65036E3B171872A100DC527A /* scroller_glass@2x.png */, + FBBD8DB3197AC9B7002C627A /* scroller_arrow@2x.png */, ); path = MVSelectorScrollView; sourceTree = ""; @@ -191,6 +194,7 @@ buildActionMask = 2147483647; files = ( 65036E3F171872A100DC527A /* MVSelectorScrollView.xib in Resources */, + FBBD8DB4197AC9B7002C627A /* scroller_arrow@2x.png in Resources */, 65036E40171872A100DC527A /* scroller_bg@2x.png in Resources */, 65036E41171872A100DC527A /* scroller_glass@2x.png in Resources */, 65036E52171873AA00DC527A /* Default-568h@2x.png in Resources */, @@ -338,6 +342,7 @@ 65036E0C171865E600DC527A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/MVSelectorScrollView/scroller_arrow@2x.png b/MVSelectorScrollView/scroller_arrow@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..af8b768f4699672325fa1fd3c321590aa647504c GIT binary patch literal 1062 zcmaJ=TWHfz819%GV{=1rikCecGUhgBlctw+jjN+;T34~7bd}XTh-q@#W?OP%a<+Cw z$J7TM`rv~I`ZDl_q6ms2;)XiLzz2O$P|=s6FQTX*!uIG%w{AXILy~jh`@a7_|Not- zSl_<-+8wnvo2@?5E5ymzM81ZaYVz;ed~5?5w&PF|_oFn-KOQyBjzitdnt&m$S2O-ox=uFIasj63vj)d|U{x#v&^}mBm=+ z877y@(K#25j10s2d_GIV>9iAs-5l4jn73|3g)E4Q=8$T+jEP!e(MzhfExrXw;BMGmD4h=) zP{hbcAT&~{Vl0a=GP6hr!F~?34Jew7a%OuGAC2-6&BUT6!HD3ehytxBGVcnr!5|y( zIl|5!mJPXmoF^3aa*j?;aC^BhSKSU)6s)?OZrlyJr#1 zEKOe-{Kg&{I$lZ7H_o+Y-!0W$Oh5csIdNv2bTG01v6#^V?D>NI_vH1VsZDpDe|^6t zS=n;0X}NlK{>QV{?AFhdEnn;lRlc^mjtaAFXGc~0gPN-i(`VzZ+v$pG+lf! QPFpuO66zD~_8d9+2M=9VBLDyZ literal 0 HcmV?d00001