iOS - проблема с открытием фрейма (другой вид) в поле зрения - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть вид и кнопка в этом виде. Когда я нажимаю эту кнопку, мне нужно открыть другой вид в виде рамки. Поиск Я нашел этот пост: iOS - как вы контролируете размер контроллера модального представления?

Я изменяю это и делаю это в IBAction, подключенном к кнопке:

View2Controller *screen = [[View2Controller alloc] initWithNibName:nil bundle:nil]; //Line add
UIView *myHalfView = [[UIView alloc] initWithFrame:screen.view.frame]; //Line modified by me
[self.view addSubview:myHalfView];
CGRect offScreenFrame = myHalfView.bounds;
offScreenFrame.origin = CGPointMake(0.0, CGRectGetMaxY(self.view.frame));

[UIView beginAnimations:nil context:nil];
myHalfView.center = CGPointMake(myHalfView.center.x, myHalfView.center.y - myHalfView.bounds.size.height);
[UIView commitAnimations];
[myHalfView release];

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

Ответы [ 3 ]

1 голос
/ 24 февраля 2011

Возьмите вершину в это, это золотое ... прочитайте также комментарии там.

http://humblecoder.blogspot.com/2009/04/iphone-tutorial-navigation-controller.html

0 голосов
/ 01 марта 2011

Спасибо всем за ответы.Наконец я делаю это и работаю:

Сначала в моем IBAction:

View2Controller* modalViewController = [[[View2Controller alloc] initWithNibName:@"View2Controller" bundle:nil] autorelease];
[self.view addSubview:modalViewController.view];

Затем в View2Controller.m в viewDidLoad:

[self.view setBackgroundColor:[UIColor clearColor]];

[UIView beginAnimations:nil context:nil];
[self.view setFrame:CGRectMake(0, 1024, 128, 600)];
[UIView setAnimationDuration:0.75f];
[self.view setFrame:CGRectMake(0, 404, 128, 600)];
[UIView commitAnimations];
0 голосов
/ 24 февраля 2011

Ваш View2Controller инициализируется без nibname?

У меня обычно есть xib, в который я встроил Interface Builder, и делаю следующее (по умолчанию размер xib должен быть любого размера, который вы хотите, если он не изменяется):

MyViewController* controller = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
[navigationController.view addSubview:controller.view];
//manipulate controller.view here
[controller release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...