Для начала я хотел бы извиниться за мой английский:)
У меня есть FirstViewController, который содержит scrollView. Это scrolView с включенной подкачкой и имеет 2 страницы с 2 различными контроллерами представления. От одного из контроллеров представления, касаясь кнопки, третий контроллер представления появляется как модальное представление. Я вызываю метод в FirstViewController, который должен отключить прокрутку и скрыть две метки, которых нет в scrollView.
Метод выполняется, но пользовательский интерфейс не изменяется, прокрутка все еще включена, а надписи все еще видны.
Теперь немного кода:
Это часть FirstViewController.h (не весь код):
@interface FirstViewController : UIViewController <UIScrollViewDelegate> {
IBOutlet UIScrollView *scrollView;
IBOutlet UILabel *label1;
IBOutlet UILabel *label2;
}
@property (nonatomic, retain) UILabel *label1;
@property (nonatomic, retain) UILabel *label2;
@property (nonatomic, retain) UIScrollView *scrollView;
-(void)prepareToModal;
@end
Теперь это -(void)prepareToModal;
реализация:
-(void)prepareToModal {
[label1 setHidden:YES];
[label2 setHidden:YES];
scrollView.scrollEnabled = NO;
}
Итак, с одного из контроллеров представления, который содержится в scrollView, я вызываю prepareToModal
Ранее:
#import "FirstViewController.h"
Далее:
FirstViewController *vc = [[FirstViewController alloc] init];
[vc prepareToModal];
[vc release];
Так вот и все. Я установил точку останова в prepareToModal, и она перестала выполняться. Метод вызывается, но на экране ничего не меняется ...
Что я делаю не так?
Как это сделать правильно?
Обновление
Я решил эту проблему.
Когда я представляю этот модальный вид, я написал это:
ThirdViewController *tvc = [[ThirdViewControler alloc] init];
tvc.delegate = self;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:tvc];
[self presentModalViewController:nc animated:YES];
[tvc release];
[nc release];
Теперь, за [self presentModalViewController:nc animated:YES];
я пишу это:
[[[[UIApplication sharedApplication].windows objectAtIndex:0] rootViewController] presentModalViewController:nc animated:YES];
И это работает очень хорошо, мне не нужен метод -(void)prepareToModal;
Большое спасибо:)