diff --git a/Classes/ImageViewController.h b/Classes/ImageViewController.h index 2b349bf55..080e1b146 100644 --- a/Classes/ImageViewController.h +++ b/Classes/ImageViewController.h @@ -21,12 +21,18 @@ #import "UICompositeViewController.h" -@interface ImageViewController : UIViewController { +@interface UIImageScrollView : UIScrollView + +@property (nonatomic, retain) UIImage *image; +@property (readonly) IBOutlet UIImageView *imageView; + +@end + +@interface ImageViewController : UIViewController { } -@property (nonatomic, retain) IBOutlet UIScrollView *scrollView; -@property (nonatomic, retain) IBOutlet UIImageView *imageView; +@property (nonatomic, retain) IBOutlet UIImageScrollView *scrollView; @property (nonatomic, retain) UIImage *image; @property (nonatomic, retain) IBOutlet UIButton *backButton; diff --git a/Classes/ImageViewController.m b/Classes/ImageViewController.m index e4f4af103..8b2853f91 100644 --- a/Classes/ImageViewController.m +++ b/Classes/ImageViewController.m @@ -20,14 +20,103 @@ #import "ImageViewController.h" #import "PhoneMainView.h" -@interface ImageViewController () +@implementation UIImageScrollView + +@synthesize image; +@synthesize imageView; + + +#pragma mark - Lifecycle Functions + +- (void)initUIImageScrollView { + imageView = [[UIImageView alloc] init]; + self.delegate = self; + [self addSubview:imageView]; +} + +- (id)init { + self = [super init]; + if(self != nil) { + [self initUIImageScrollView]; + } + return self; +} + +- (id)initWithCoder:(NSCoder *)aDecoder { + self = [super initWithCoder:aDecoder]; + if(self != nil) { + [self initUIImageScrollView]; + } + return self; +} + +- (id)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if(self != nil) { + [self initUIImageScrollView]; + } + return self; +} + +- (void)dealloc { + [image release]; + [imageView dealloc]; + + [super dealloc]; +} + + +#pragma mark - ViewController Functions + +- (void)layoutSubviews { + [super layoutSubviews]; + + // center the image as it becomes smaller than the size of the screen + CGSize boundsSize = self.bounds.size; + CGRect frameToCenter = imageView.frame; + + // center horizontally + if (frameToCenter.size.width < boundsSize.width) + frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width) / 2; + else + frameToCenter.origin.x = 0; + + // center vertically + if (frameToCenter.size.height < boundsSize.height) + frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height) / 2; + else + frameToCenter.origin.y = 0; + + imageView.frame = frameToCenter; +} + + +#pragma mark - Property Functions + +- (void)setImage:(UIImage *)aimage { + imageView.image = aimage; + imageView.frame = CGRectMake(0, 0, aimage.size.width, aimage.size.height); + self.contentSize = aimage.size; + [self zoomToRect:imageView.bounds animated:FALSE]; + self.minimumZoomScale = self.zoomScale; +} + +- (UIImage *)image { + return imageView.image; +} + + +#pragma mark - UIScrollViewDelegate Functions + +- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { + return imageView; +} @end @implementation ImageViewController @synthesize scrollView; -@synthesize imageView; @synthesize backButton; @synthesize image; @@ -40,7 +129,6 @@ - (void)dealloc { [scrollView release]; - [imageView release]; [backButton release]; [image release]; @@ -68,27 +156,14 @@ static UICompositeViewDescription *compositeDescription = nil; } -#pragma mark - ViewController Functions - -- (void)viewDidLoad { - [super viewDidLoad]; - - [scrollView setDelegate:self]; -} - - #pragma mark - Property Functions - (void)setImage:(UIImage *)aimage { - imageView.image = aimage; - imageView.frame = CGRectMake(0, 0, aimage.size.width, aimage.size.height); - scrollView.contentSize = aimage.size; - [scrollView zoomToRect:imageView.bounds animated:FALSE]; - scrollView.minimumZoomScale = scrollView.zoomScale; + scrollView.image = aimage; } - (UIImage *)image { - return imageView.image; + return scrollView.image; } @@ -100,11 +175,4 @@ static UICompositeViewDescription *compositeDescription = nil; } } - -#pragma mark - UIScrollViewDelegate Functions - -- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { - return self.imageView; -} - @end diff --git a/Classes/en.lproj/ImageViewController.xib b/Classes/en.lproj/ImageViewController.xib index cbe23f899..f93527cb6 100644 --- a/Classes/en.lproj/ImageViewController.xib +++ b/Classes/en.lproj/ImageViewController.xib @@ -123,24 +123,10 @@ 274 - - - - 274 - {320, 416} - - - _NS:9 - - 4 - NO - IBCocoaTouchFramework - - {{0, 44}, {320, 416}} - + _NS:9 3 @@ -180,14 +166,6 @@ 8 - - - imageView - - - - 9 - scrollView @@ -259,18 +237,10 @@ 12 - - - + scrollView - - 4 - - - imageView - @@ -280,8 +250,8 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIImageScrollView com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -311,21 +281,16 @@ UIButton - UIImageView - UIScrollView + UIImageScrollView backButton UIButton - - imageView - UIImageView - scrollView - UIScrollView + UIImageScrollView @@ -333,6 +298,25 @@ ./Classes/ImageViewController.h + + UIImageScrollView + UIScrollView + + imageView + UIImageView + + + imageView + + imageView + UIImageView + + + + IBProjectSource + ./Classes/UIImageScrollView.h + + 0 diff --git a/Classes/fr.lproj/ImageViewController.xib b/Classes/fr.lproj/ImageViewController.xib index b3439c30a..b68f9dc68 100644 --- a/Classes/fr.lproj/ImageViewController.xib +++ b/Classes/fr.lproj/ImageViewController.xib @@ -1,21 +1,21 @@ - 1536 + 1280 11E53 - 2840 + 1938 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1926 + 933 - IBProxyObject IBUIButton IBUIImageView - IBUIScrollView IBUIView + IBUIScrollView + IBProxyObject com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -34,7 +34,7 @@ IBCocoaTouchFramework - + 274 @@ -120,22 +120,8 @@ 274 - - - - 274 - {320, 416} - - _NS:9 - - 4 - NO - IBCocoaTouchFramework - - {{0, 44}, {320, 416}} - _NS:9 3 @@ -149,7 +135,6 @@ {{0, 20}, {320, 460}} - @@ -174,14 +159,6 @@ 8 - - - imageView - - - - 9 - scrollView @@ -253,18 +230,10 @@ 12 - - - + scrollView - - 4 - - - imageView - @@ -274,8 +243,8 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIImageScrollView com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -287,7 +256,62 @@ 13 - + + + + ImageViewController + UIViewController + + onBackClick: + id + + + onBackClick: + + onBackClick: + id + + + + UIButton + UIImageScrollView + + + + backButton + UIButton + + + scrollView + UIImageScrollView + + + + IBProjectSource + ./Classes/ImageViewController.h + + + + UIImageScrollView + UIScrollView + + imageView + UIImageView + + + imageView + + imageView + UIImageView + + + + IBProjectSource + ./Classes/UIImageScrollView.h + + + + 0 IBCocoaTouchFramework YES @@ -297,6 +321,6 @@ {320, 88} {5, 88} - 1926 + 933 diff --git a/linphone.ldb/Contents.plist b/linphone.ldb/Contents.plist index c6ef74949..745ed530d 100644 --- a/linphone.ldb/Contents.plist +++ b/linphone.ldb/Contents.plist @@ -5062,17 +5062,17 @@ backup - 10 + 11 class BLWrapperHandle name - Classes/ImageViewController/10/ImageViewController.xib + Classes/ImageViewController/11/ImageViewController.xib change date - 2012-09-25T15:43:59Z + 2012-09-26T09:40:46Z changed values class @@ -5082,7 +5082,7 @@ flags 0 hash - a6f92c4f1f39135867bae2c55aab1d43 + 32d1e1b03fac80638e7b7a220e1bc52f name ImageViewController.xib @@ -5146,9 +5146,9 @@ versions en - 10 + 11 fr - 10 + 11 diff --git a/linphone.ldb/Resources/Classes/ImageViewController/10/ImageViewController.xib b/linphone.ldb/Resources/Classes/ImageViewController/11/ImageViewController.xib similarity index 89% rename from linphone.ldb/Resources/Classes/ImageViewController/10/ImageViewController.xib rename to linphone.ldb/Resources/Classes/ImageViewController/11/ImageViewController.xib index cbe23f899..f93527cb6 100644 --- a/linphone.ldb/Resources/Classes/ImageViewController/10/ImageViewController.xib +++ b/linphone.ldb/Resources/Classes/ImageViewController/11/ImageViewController.xib @@ -123,24 +123,10 @@ 274 - - - - 274 - {320, 416} - - - _NS:9 - - 4 - NO - IBCocoaTouchFramework - - {{0, 44}, {320, 416}} - + _NS:9 3 @@ -180,14 +166,6 @@ 8 - - - imageView - - - - 9 - scrollView @@ -259,18 +237,10 @@ 12 - - - + scrollView - - 4 - - - imageView - @@ -280,8 +250,8 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIImageScrollView com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -311,21 +281,16 @@ UIButton - UIImageView - UIScrollView + UIImageScrollView backButton UIButton - - imageView - UIImageView - scrollView - UIScrollView + UIImageScrollView @@ -333,6 +298,25 @@ ./Classes/ImageViewController.h + + UIImageScrollView + UIScrollView + + imageView + UIImageView + + + imageView + + imageView + UIImageView + + + + IBProjectSource + ./Classes/UIImageScrollView.h + + 0