#objective-c #macos
#objective-c #macos
Вопрос:
Каковы способы / лучшие практики при проектировании элементов на платформе Mac в objective-c?
Я ищу материал для чтения таких элементов, как
- NSButton
- NSTextField
- Градиентные фоны
- и т. д
Должен ли я действительно подклассировать все элементы и нарисовать их самостоятельно (углы, среднюю область и т. Д.) Или я мог бы использовать какой-нибудь изящный трюк с фоновым изображением.
Я искал в Google информацию, но на самом деле не нашел ничего полезного (возможно, я ищу что-то не то?)
Любая помощь приветствуется, спасибо!
Ответ №1:
Это разные теории, но я лично считаю, что подклассы — хороший способ для такого рода вещей.
Затем вы можете создать свое приложение с помощью пользовательских компонентов, которые обладают дополнительными свойствами по сравнению со встроенными.
С моей точки зрения, вы многое выиграете, создав общие подклассы, а затем подклассы этих подклассов с помощью специального кода.
Затем у вас будет своего рода деривация. После этого вы сможете легче управлять обратной совместимостью, и изменение в классе универсального компонента отразится на всех подклассах.
Так что, по моему скромному мнению, просто не бойтесь подклассов для такого рода вещей.
Комментарии:
1. Спасибо. Я на самом деле не боялся подклассов этих классов, просто пытался выяснить, есть ли более простой / быстрый способ 🙂
2. Более простой способ может оказаться не самым быстрым. Если вы хотите создать надежное приложение, подумайте о повторно используемых компонентах, а не о быстром коде … 🙂
3. В зависимости от того, что вы делаете, также может иметь смысл подкласс одного из родительских классов упомянутых вами вещей, таких как NSControl или NSActionCell, и использовать его в качестве базового класса для ваших пользовательских элементов пользовательского интерфейса. И обязательно прочитайте примечания к подклассам в справочной документации по классам — не все классы Apple предназначены для подклассов 🙂