Создание какао UIs для OS X с C# и моно

Я вижу, что в вашем коде вы получаете элементы только с использованием класса «mySlides».

var x = document.querySelectorAll(".mySlides");

Если вы хотите настроить таргетинг на элементы «mobilemySlides», вы должны найти способ сообщить вашему javascript, какие элементы вы хотите получить.

Например, вы можете добавить второй параметр в вашу функцию

function showDivs(n, selector){ ... }

и затем обновить свой запрос DOM:

var x = document.querySelectorAll(selector);

Наконец, вызвать функцию showDivs:

Или

вот рабочий пример: https://codepen.io/mp-9007/pen/RdBwYb . Я убрал ширину на 100%, чтобы лучше видеть.

РЕДАКТИРОВАТЬ Обновлен код, основанный на комментарии @Scott Marcus. Изменено .getElementByClassName() на .querySelectorAll()

13
задан Antony Perkov 7 April 2009 в 07:01
поделиться

6 ответов

Команда Mono выпустила новый мост под названием MonoMac.

По сути, это настольная версия фреймворка MonoTouch, который они создали для iPhone.

Мигель объявил о новом мосте в своем блоге здесь: http://tirania.org/blog/archive/2010/Apr-19.html

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

5
ответ дан 2 December 2019 в 01:11
поделиться

В последнее время я пробовал Monobjc, NObjective и MObjc / MCocoa с F #, и я пойду с MObjc / MCocoa

Monobjc, как вы пишете, лучше всего документирован и упакован, но по сравнению с двумя другими очень медленными и не «отбрасывает исключения» из ObjC.

Я считаю, что NObjective и MObjc / MCocoa - единственные два, которые перебрасывают исключения из ObjC, и поэтому я считаю, что они являются единственными реальными альтернативами.

Как обсуждалось здесь NObjective использует структуры с наследованием что я нахожу довольно пугающим и заставило меня наконец выбрать MObjC / MCocoa.

(Возможно, у вас также есть проблема с лицензией. Monobjc и NObjective находятся под LGPL, MObjc / MCocoa под MIT ...)

3
ответ дан 2 December 2019 в 01:11
поделиться

Я думаю, что NObjective является лучшим выбором, потому что он имеет автоматическую генерацию кода для оберток Objective C, которые могут быть легко настроены для регенерации оберток для дальнейших версий Mac OS.

1
ответ дан 2 December 2019 в 01:11
поделиться

Не собираясь спрашивать, почему, так как у Вас есть свои причины, я уверен.

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

0
ответ дан 2 December 2019 в 01:11
поделиться

Хорошо, я спрошу: почему Вы хотели бы сделать это? UI какао archtecture, включая Станд. какао delgates и Какао bindngs тесно связывается с Objective C. Комбинация Интерфейсного Разработчика и Objective C удивительно продуктивна. Хотя можно использовать Интерфейсного Разработчика со многими мостами к Objective C (включая PyObjC, MacRuby и многие мосты C#), Вы неизбежно освободите производительность из-за любого несоответствия импеданса между платформой и Вашим предпочтительным языком. С C# это несоответствие является значительным. Так как Вы пишете собственный UI, таким образом освобождая любое межплатформенное преимущество, которое Вы получили бы от C#, я буду использовать Objective C. Для компетентного программиста C/C ++/C#/Java/etc. обычно требуется 2-3 дня для становления удобным и продуктивным в Objective C.

1
ответ дан 2 December 2019 в 01:11
поделиться

В списке рассылки Mono-OSX имело место довольно продолжительное обсуждение различных мостов.

Обсуждение начинается здесь с Мигеля:

  • Объявление, что Cocoa # больше не будет поддерживаться Novell.
  • Попытка объединить оставшиеся усилия в сообществе.

Если вы читаете остальная часть обсуждения, похоже, что сообщество Mono склоняется либо к Monoobjc, либо к MObjc / MCocoa; Так что, если вы проводите собственное расследование, вероятно, стоит сосредоточиться на них.

1
ответ дан 2 December 2019 в 01:11
поделиться