Существует ли способ поймать событие WillRotateToInterfaceOrientation от UIView?

Вы, кажется, спрашиваете приблизительно две разных вещи.

  1. я получаю это сообщение на мониторе Signal out of range 92KHz - 58Hz

    , я не знаю то, что это означает. Мое предположение - то, что что-то неправильно с настроенными настройками, которые Ubuntu пытается использовать для Вашего дисплея. Когда это пытается применить их, это получает эту ошибку. После того, как эта Ubuntu, вероятно, просто использует настройки, которые делают работа.

    я не уверен, как Вы могли зафиксировать это. Что я попробовал бы..., и это - просто предположение... к Настройкам открытой системы> Дисплеи, нажмите Detect Displays и затем попытайтесь изменить разрешение.

    , Надо надеяться, у кого-то еще будет лучший ответ...
  2. я не могу загрузить Windows!

    трудно предложить возможное решение для этого, не зная больше о Вашей системе, какие операционные системы установлены, и в том, какой порядок они были установлены и/или стали недоступными.

    Это также помогло бы иметь информацию предоставления утилиты boot-repair в" Сводка Bootinfo". Если Вы следовали бы инструкциям ниже, чтобы создать Сводку Bootinfo и затем обновить Ваш вопрос включать ссылку на сводку, это поможет нам консультировать Вас по вопросам того, как починить Ваши проблемные окна начальной загрузки.

то, Как использовать восстановление начальной загрузки для обеспечения "Сводки Bootinfo"


Начиная с Вашего, может все еще загрузить Ubuntu, Вы непосредственно устанавливаете и выполняете инструмент Boot-Repair и используете его для Create a Bootinfo summary.

Первый, установите инструмент Boot-Repair с помощью apt-get. Терминальные команды, чтобы сделать это

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
  1. , После этого завершается, введите команду boot-repair для запуска инструмента.
  2. После того, как небольшая задержка, boot-repair предложит Вам загружать новейшую версию. Так как Вы просто установили последнюю версию, ответ No.
  3. , Если boot-repair просит устанавливать pastebinit пакет, ответьте Yes.
  4. инструмент теперь просканирует Вашу систему и (в конечном счете) отобразит окно, показанное в изображении ниже. Нажмите Create a Bootinfo summary поле/кнопка. Это соберет информацию о загрузочной конфигурации Вашей системы, но не внесет изменений.


    Initial Boot-Repair Window

  5. то, Когда bootinfo сводка была создана, boot-repair, отобразит сообщение, содержащее URL, который должен быть похожим на это: http://paste.ubuntu.com/123456/.

    обновляйте/редактируйте свой вопрос и добавьте этот URL. Информация в pastebin, на который эта ссылка указывает на желание (я надеюсь) помогает нам диагностировать проблему.

Ответ на комментарий 06.05.2012 23:18:37Z


Любое время там я включаю ПК, я вижу конфигурацию BIOS, затем появляюсь Loading system и 3 секунды спустя появляюсь [Сигнал из диапазона] сообщение.

я не уверен, что понимаю. Большинство ПК я знаком с шоу BIOS, добавляет сообщения , когда они запускают/загружают." конфигурация BIOS ", который Вы видите теперь отличающийся в некотором роде? Или Вы видели те же сообщения BIOS ранее, когда только Windows был установлен?

нажатие Попытки и содержание сдвиг ключ сразу после наблюдения эти Loading system сообщение. Это, как предполагается, заставляет меню начальной загрузки GRUB появиться. Он?

6
задан jantimon 1 September 2009 в 15:26
поделиться

3 ответа

Наблюдать UIDeviceOrientationDidChangeNotification :

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationDidChange:) name:UIDeviceOrientationDidChangeNotification object:nil];

...

- (void)orientationDidChange:(NSNotification *)note
{
    NSLog(@"new orientation = %d", [[UIDevice currentDevice] orientation]);
}

Ссылка на класс UIDevice

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

17
ответ дан 8 December 2019 в 05:56
поделиться

Если вы просто хотите настроить вид на новый размер / макет при изменении ориентации , вам следует просто переопределить его метод layoutSubviews .

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

3
ответ дан 8 December 2019 в 05:56
поделиться

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

[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didRotate:)
name:@"UIDeviceOrientationDidChangeNotification" object:nil];
2
ответ дан 8 December 2019 в 05:56
поделиться