Попытка основать некоторый код на примере Apple Image Zooming, упуская некоторые простые знания Interface Builder - PullRequest
0 голосов
/ 26 января 2011

Я пытаюсь основать часть своего приложения на примере Apple Zooming для масштабирования, прокрутки и ориентации изображений, сохраненных в изолированной программной среде приложения.

http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/Introduction/Introduction.html

У меня сейчас вроде как работает, за исключением того, что при загрузке ScrollView он пустой. Код выглядит примерно так:

@interface PhotoViewController : UIViewController <UIScrollViewDelegate> {
UIScrollView *imageScrollView;
UIImageView *imageView;
}
@property (nonatomic, retain) IBOutlet UIScrollView *imageScrollView;
@property (nonatomic, retain) UIImageView *imageView;
@end





@implementation PhotoViewController

@synthesize imageView, imageScrollView;
- (void)viewDidLoad {
[super viewDidLoad];
imageScrollView.bouncesZoom = YES;
imageScrollView.delegate = self;
imageScrollView.clipsToBounds = YES;
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1.jpg"]];
imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.backgroundColor = [UIColor blackColor];
imageView.userInteractionEnabled = YES;

[imageScrollView addSubview:imageView];
imageScrollView.contentSize = [imageView frame].size;
}

XIB имеет Контроллер просмотра фотографий-> Просмотр прокрутки-> Структура просмотра. У меня такое чувство, что проблема именно в этом. Я попытался подключить все выходы идентично примеру, но в разделе Ссылочные выходы в примере есть viewController, подключенный к ImageZoomingAppDelegate. Так как мой PhotoViewController является подпредставлением, нет такого места для подключения viewController.

Вот как я вызываю PhotoViewController:

(IBAction) photoButtonPressed: (id) sender {
viewController = [[PhotoViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
}

Я знаю, что, должно быть, я просто "настолько близок" к тому, чтобы все это правильно подключить, но я недостаточно хорошо понимаю отношение xib к коду, чтобы знать, как его отладить. Я даже не уверен, что знаю достаточно, чтобы задавать правильные вопросы.

1 Ответ

0 голосов
/ 26 января 2011

Попробуйте изменить viewController = [[PhotoViewController alloc] init]; на

viewController = [[PhotoViewController alloc] initWithNibName:@"PhotoViewController" bundle:nil];

(конечно, измените текстовую строку на то, что вы называете своим файлом xib).

...