Это может показаться новичком, но я новичок в разработке для iOS,
У меня есть UIWebView и UITableView на моем iPad.В shouldAutorotateToInterfaceOrientation
я изменяю их размер, чтобы они выглядели так.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if( interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
CGRect f = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height / 2);
self.mTextView.frame = f;
f = CGRectMake(0, self.view.frame.size.height / 2, self.view.frame.size.width, self.view.frame.size.height / 2);
self.mTableView.frame = f;
}
if( interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
CGRect f = CGRectMake(0, 0, self.view.frame.size.width / 2, self.view.frame.size.height);
self.mTextView.frame = f;
f = CGRectMake(self.view.frame.size.width / 2, 0, self.view.frame.size.width / 2, self.view.frame.size.height);
self.mTableView.frame = f;
}
return YES;
}
Теперь вопрос: для первой загрузки представление таблицы рисуется с правильными размерами, но когда я переключаюсь в портретный режим, затем снова в ландшафтный режимUITableView становится шире, чем указано в кадре.Так почему это происходит и как это исправить?
PS.Я пытался также установить рамки для всех ячеек тем же методом, но это не помогло.
PSS.Это происходит только на устройстве, на симуляторе UITableView отображается правильно