2009-10-29 2 views
0

У меня есть UIActionSheet, который появляется, как только начальный вид в приложении для iPhone загружается, если есть данные, которые можно синхронизировать с веб-службой. Проблема в том, что UIActionSheet появляется слишком высоко - ровно половина панели вкладок экспонируется под листом действия. Я не знаю, что это вызвано стилем? Может ли кто-нибудь предложить объяснение/решение, чтобы предотвратить это ??Ошибка отображения UIActionView

Заранее спасибо за любые предложения, мой код появится ниже ...

- (void)viewDidLoad { 

    //...preset a few values here, unrelated to the view... 
    //... 

    // Add an actionsheet to prompt for a DB sync 
    if ([myDatabase isSyncPossible] == true) { 
     UIActionSheet *actionsheet = [[UIActionSheet alloc] 
      initWithTitle: @"You have information that hasn't been uploaded, would you like to sync now?" 
      delegate: self 
      cancelButtonTitle: @"No thanks, maybe later" 
      destructiveButtonTitle: @"Yes, upload now" 
      otherButtonTitles: nil]; 
     actionsheet.tag = 2; 
     [actionsheet showInView:self.view]; 
     [actionsheet release]; 
    } 
} 

ответ

0

Предполагая, что я правильно понимаю ваше описание, кажется, что рамка «self.view» не работает полностью под панелью вкладок, но вместо этого просто идет на полпути. Поскольку лист действий рисуется со дна представления, он будет начинаться с того места, где это выглядит. Чтобы исправить, сделайте «self.view.frame» в нижней части экрана.

Экранный снимок поможет.

+0

Спасибо за ответы и за то время, чтобы помочь мне! Размер представления был действительно неправильным, не уверен, почему это не было очевидно в интерфейсе, но исправление действительно помогло решить проблему. Огромное спасибо! – Purpletoucan

2

Для showInView: вызова, попробуйте использовать вид навигации или вид панели вкладок вместо зрения вашего контроллера.

+0

Спасибо за этот комментарий. Представление моего UIActionSheet из навигационного представления решило мою проблему. –