Разработка для нескольких [закрытых] мониторов

Новый синтаксис с Apple LLVM Compiler 4.0

dictionary[@"key1"] = @(boolValue);
dictionary[@"key2"] = @YES;

Синтаксис преобразует BOOL в NSNumber, что приемлемо для NSDictionary.

9
задан Jeff Atwood 17 August 2008 в 01:24
поделиться

7 ответов

Немного случайных подсказок:

  • Если несколько окон могут быть открыты когда-то, позвольте пользователям иметь их на отдельных экранах. Кажется очевидным, но некоторые очень распространенные приложения (например, Visual Studio) терпят полный провал в этом.
  • Помните положение последнего открытого окна и откройте новые окна на том же экране как прежде. Однако иногда пользователи переключаются между несколькими и единственным дисплеем (например, стыкующий ноутбук с внешнего CRT), таким образом смотрите, покрывают этот случай также.
  • Рассмотрите, как работают Ваши конкретные пользователи, и как, максимизируя два окна одновременно могли бы помочь. Часто, существует (довольно пассивное) окно для ссылки (например, веб-браузер / справка) и активное окно для ввода данных (например, редактор/база данных) тот, пользователи переключаются между.
  • Не помещайте панели инструментов/панели инструментов на другое окно, чем объекты, которыми они управляют на (это неудобно для перемещения мыши до сих пор).
14
ответ дан 4 December 2019 в 06:12
поделиться

Инструкции по Интерфейсу пользователя Apple для Mac касались управления окнами на нескольких дисплеях с 1987, когда Mac II был начат с шести слотов, которые могли все содержать видеокарту. Инструкции предлагают несколько хороших инструкций, о которых Вы не могли бы думать сначала при реализации нескольких поддержка окна. Например, если окно охватывает несколько дисплеев, на каком дисплее новые окна должны быть открыты? Существует ответ вокруг рисунка 14-33 в главе, имеющей дело с поведением Окна.

Microsoft может иметь что-то подобное теперь, чтобы разработчики Windows следовали; если это так, проверьте его и следуйте их инструкциям, так как Вы не хотите вести себя по-другому, чем другие приложения в системе (или что Ваши пользователи привыкли к) ни на каком серьезном основании. Однако, при отсутствии инструкций, не следуют за Apple, поскольку они довольно хорошо продуманы и были первоначально разработаны посредством экспериментирования и исследования.

11
ответ дан 4 December 2019 в 06:12
поделиться

. Если Вы помните положения окна за несколько мониторов. Обнаружьте, если второй монитор подключен. У меня есть ноутбук, который иногда прикрепляется. Это является очень раздражающим, когда я пытаюсь открыть окно, и это открывается от экрана.

7
ответ дан 4 December 2019 в 06:12
поделиться

Это является раздражающим, когда я перетаскиваю окно к другому монитору, и затем если приложение генерирует всплывающее диалоговое окно или порождает другое окно, если то всплывающее окно/диалоговое окно становится отображенным назад на основном мониторе.

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

4
ответ дан 4 December 2019 в 06:12
поделиться

Одна вещь иметь в виду состоит в том, что у пользователя может быть больше чем два монитора. Моя основная система имеет шесть мониторов, и я работал 4 + мониторы на Linux, Windows и Mac OS. Много приложений - даже мультиконтролируют, утилиты - будут поддерживать 2 монитора, но волноваться по поводу больше чем 2.

Работа приложений лучше всего, когда они знают о том, где их окна и касаются местоположений тех окон. И поскольку кто-то еще упомянул, если Вы собираетесь помнить, где окно было, удостоверьтесь, что геометрия все еще имеет смысл, когда пользователь возвращается.

Если ОС/оконная система диспетчеризирует событие, связанное с изменением экранной геометрии, обработайте его при выполнении чего-либо броского.

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

0
ответ дан 4 December 2019 в 06:12
поделиться

Определенно сохраните диалоговые окна рядом, где Вы нажали для перевода в рабочее состояние их. Помните то, что контролирует, окно идет между сессиями. Знайте, что, если у них есть меньше мониторов, чем прошлый раз, Ваше приложение было запущено, что необходимо возвратить окна видимой области. Обеспечьте значок или кнопку для переключения мониторов. В зависимости от типа приложения может быть полезно смочь легко разместить окна Вашего приложения рядом на мониторе или на всех.

3
ответ дан 4 December 2019 в 06:12
поделиться

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

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

Самая большая вещь, которую я подчеркнул бы, отслеживает то, где фокус находится в приложении и удостоверяясь, что любые всплывающие окна происходят в том регионе, одна из вещей, что людям, кажется, не нравится большинство, имеет всплывающее окно окна в другом окне затем то, которое они продолжают работать.

4
ответ дан 4 December 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: