UITableView прокручивают хаотично - PullRequest
0 голосов
/ 21 января 2012

Я создаю приложение, которое использует UITAbleView для отображения некоторых данных, извлеченных из базы данных SQLite. Приложение начинается с заставки, затем переходит к основному виду. Я использовал конструктор интерфейса для добавления объекта UITableView. Когда приложение запускается, UITableView не того размера, который был создан в IB. Кроме того, при прокрутке UITAbleView работает очень хаотично. Трясется, прыгает, с экрана слетает заголовок и т. Д.

Я провел некоторое исследование и прочитал, где это может быть из-за того, как я перехожу с заставки на главный экран.

Это метод UIApplication из PorjectFiveAppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[ProjectFiveSplashController alloc] initWithNibName:@"ProjectFiveSplashController" bundle:nil] autorelease];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;

}

Это код из метода loadView SplashViewController:

- (void)loadView{

CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:appFrame];
view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
self.view = view;
[view release];

splashImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ProjectFiveSplash.png"]];
splashImageView.frame = CGRectMake(0,0,1024,768);
[self.view addSubview:splashImageView];

viewController = [[ProjectFiveViewController alloc] initWithNibName:@"ProjectFiveViewController" bundle:[NSBundle mainBundle]];
viewController.view.alpha = 0.0;
[self.view addSubview:viewController.view];


activityLoading = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityLoading.frame = CGRectMake(0, 0, 1024, 768);
activityLoading.center = self.view.center;
[self.view addSubview: activityLoading];


}

Объекту UITableView были назначены эти свойства в IB:

Scrollers: показывает вертикальные скроллеры; Прокрутка включена Взаимодействие: взаимодействие с пользователем включено Рисование: Авторазмер подпредставлений

1 Ответ

0 голосов
/ 03 февраля 2012

В итоге я переместил UITableView в метод viewWillAppear, и поведение остановилось

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...