У меня есть UITableView, размер которого не изменяется должным образом с помощью autoresizeMask (в iPhone 3.0).
UITableView находится внутри UIViewController внутри UINavigationController внутри UITabBarController, все из которых создаются программно. Строка состояния видна.
Код UIViewController в основном:
- (void)loadView {
UIView* rootView = [[UIView alloc] init];
self.view = rootView;
[rootView release];
}
- (void)viewDidLoad {
[super viewDidLoad];
// table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480-20-49-44)];
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; table.autoresizingMask = UIViewAutoresizingFlexibleHeight;
[self.view addSubview:table];
}
При таком создании UITableView немного больше доступного пространства. Если я не ошибаюсь, это ровно на 44 пикселя больше, размер навигационной панели.
Однако, если я раскомментирую закомментированную строку и прокомментирую следующую строку, размер UITableView будет абсолютно правильным. Я бы предпочел использовать autoresizingMask вместо того, чтобы вручную вычислять размер UITableView. Что я делаю не так?
Заранее спасибо!