Итак, у меня есть очень простое приложение с видом в нем с помощью одной кнопки. У меня установлен контроллер только для пейзажа. Моя проблема в том, что после ее инициализации, а затем я нажимаю кнопку (которая имеет только оператор журнала), отличается от операторов журнала, которые у меня есть в конце моего init.Изменения в рамах iPad uiview сразу после initWithFrame
Я запускаю приложение в ландшафтном режиме на моем симуляторе (такие же результаты на устройстве). Как будто я назначил его, он просто переключается обратно. Я пробовал это заявление self.frame = CGRectMake(0, 0, 1024, 768);
в моем методе buttonClicked, но это просто исказило и сдвинуло его.
- (id)initWithFrame:(CGRect)frame
{
if ((self = [super initWithFrame:frame]))
{
//BUTTONS
attributesButton = [UIButton buttonWithType:UIButtonTypeCustom];
attributesButton.frame = CGRectMake(self.frame.size.width - buttonPadding - 35, self.frame.size.height/2 -22 -150, 35, 35);
[attributesButton setBackgroundImage:[UIImage imageNamed:@"loadIcon.png"] forState:UIControlStateNormal];
[attributesButton addTarget:self action:@selector(attributesButtonClicked)
forControlEvents:UIControlEventTouchUpInside];
[attributesButton setTitle:@"Attr" forState:UIControlStateNormal];
[self addSubview:attributesButton];
NSLog(@"Width: %f",self.frame.size.width);
NSLog(@"Height: %f",self.frame.size.height);
}
return self;
}
-(void)attributesButtonClicked
{
NSLog(@"Width: %f",self.frame.size.width);
NSLog(@"Height: %f",self.frame.size.height);
}
Так что это мой init. Извините, это выглядит так ужасно, что я не уверен, почему. Контроллер моего вида:
- (void)loadView
{
NSLog(@"myViewController: loadView");
myView = [[myView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
self.view = myView;
}
Теперь это часть, которая вызывает меня, отчеты журнала.
2010-08-27 15:16:55.242 tester[8703:40b] myViewController: loadView
2010-08-27 15:16:55.262 tester[8703:40b] Width: 1024.000000
2010-08-27 15:16:55.262 tester[8703:40b] Height: 768.000000
CLICK MY BUTTON HERE
2010-08-27 15:17:05.689 tester[8703:40b] Width: 748.000000
2010-08-27 15:17:05.689 tester[8703:40b] Height: 1024.000000
Мое мнение не привязано к стандартным контроллерам. Just: @interface myViewController: UIViewController –
Он не обязательно должен напрямую привязываться к стандартным контроллерам. Ваш «myViewController», вероятно, используется в UINavigationController или UITabBarController. Это даст вам то же поведение –