Вопрос

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

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

- (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];
    } 
}
Это было полезно?

Решение

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

Снимок экрана поможет.

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top