2012-03-14 2 views
1

Возможно ли использовать UIScrollView для просмотра изображения длиной около 800 пикселей? Я попытался использовать UIScrollView и UIImageView, но это не прокрутка. Кто-нибудь может помочь?UIScrollView с изображением

+0

Отправьте свой код. – jcm

ответ

-1
@interface ZoomViewController : UIViewController <uiscrollviewdelegate> { 

    IBOutlet UIScrollView *scroll; 
    UIImageView *image; 
} 

@property (nonatomic, retain) UIScrollView *scroll; 

@end 
</uiscrollviewdelegate></uikit> 

После проверки вашего метода Viewdidload.

- (void)viewDidLoad { 

     image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"img_body.png"]]; 

     [super viewDidLoad]; 

    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"img_body.png"]]; 

    scroll.contentSize = image.frame.size; 

    [scroll addSubview:image]; 

    scroll.minimumZoomScale = 0.4; 

    scroll.maximumZoomScale = 4.0; 

    scroll.delegate = self; 
    [scroll setZoomScale:scroll.minimumZoomScale]; 
    [super viewDidLoad]; 

} 
+0

Спасибо, но я продолжаю получать ошибку на этой странице: image = [[UIImage View alloc] initWithImage: [UIImage imageNamed: @ "test.png"]]; – XpApp

+0

какая ошибка вы получаете? вы можете вставить эту ошибку здесь? –

+0

не должно быть пробела: [UIImage View alloc] должен сказать [UIImageView alloc] –

0

Использование:

UIScrollView *yourScrollview = [[UIScrollView alloc] initWithFrame:(CGRect){{0,0}, {320,480}}]; 

UIImageView *yourImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImageHere.png"]]; 
yourImageView.frame = yourScrollview.bounds; 

yourScrollview.contentSize = yourImageView.frame.size; 
yourScrollview.minimumZoomScale = 0.4; 
yourScrollview.maximumZoomScale = 4.0; 
[yourScrollview setZoomScale:yourScrollview.minimumZoomScale]; 
yourScrollview.delegate = self; 
[self.view addSubview:yourScrollview]; 

Не забудьте добавить UIScrollViewDelegate в вашем файле .h

Примечание: ARC код

0

1. Создание нового проекта -> Single Просмотреть заявку
2. Поставьте следующий код:

"ViewController.m"

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

-(void) viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIScrollView * scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    [scrollView setContentSize:CGSizeMake(320, 800)]; 

    UIView * myView = [[UIView alloc] initWithFrame : CGRectMake(0, 0, 320, 800)]; 
    UIImageView * myImage = [[UIImageView alloc]initWithImage : [UIImage imageNamed:@"Test.png"]]; 
    [myView addSubview: myImage]; 
    [myImage release]; 
    [scrollView addSubview: myView]; 
    [myView release]; 

    [self.view addSubview: scrollView]; 
    [scrollView release]; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 
@end 

3. Поместите изображение "test.png" в свой проект (Drag & Drop в Xcode -> Папка: Поддержка файлов)

0

Если это не так панорамирование означает, что вы забыли установить свойство contentSize. У меня есть учебник на моем сайте, который показывает, как вставить UIImageView внутри UIScrollView и настроить его для панорамирования и масштабирования. Он включает полный загружаемый исходный код. См. Panning and Zooming with UIScrollView

Смежные вопросы