Вопросы с тегами [uiappearance]

0

голосов
0

ответ
8

Просмотры

Как обнаруживать viewloaded после routerLink?

У меня есть 2 мнения / дом, / панель в моем угловом приложении с элементами анимации, которые загружаются после загрузки страницы. Когда я загружаю по URL, загрузка страницы и ngAfterViewInit работы файла. Но я нажимаю на routerLink = «/ дома», нет анимации Jquery появиться триггеров. Скорее всего, ngAfterViewInit не вызывает таких кликов. Любые обходные пожалуйста?
jolly
1

голосов
0

ответ
110

Просмотры

Swift изменение темы не работает на UILabel в UITableViewCell

Я работаю на предоставление свет / темный вариант темы для пользователей в приложение IOS. Когда я поставил тему в приложении делегата, приложение загружает штраф с соответствующей темой, но когда я переключить переключатель в настройках, чтобы изменить тему, она не работает должным образом. Основная проблема с UILabel.textColor в UITableViewCell. Я попытался ниже основан на том, что я прочитал в Интернете, но он не работает. UILabel.appearance (whenContainedInInstancesOf: [UITableViewCell.self]). TextColor = UIColor.red Я использую Xcode 9.3. Любой совет будет принят во внимание. Спасибо.
Rijaz Ali
1

голосов
0

ответ
49

Просмотры

UINavigationItem появление несогласованность

По умолчанию в нашем приложении мы имеем следующий вид для UINavigationBarItems NSDictionary * АТЦ = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor clearColor], NSForegroundColorAttributeName, ноль]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateNormal]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateHighlighted]; В основном мы устанавливаем заголовок прозрачный. Это влияет на потенциальную интеграцию с другими компонентами, как UIImagePicker, но в основном мы откатить этот вид, когда мы выводим сборщику изображения. NSDictionary * ATTS = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor darkGrayColor], NSForegroundColorAttributeName, ноль]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateNormal]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateHighlighted]; Но если в UITextView мы имеем связь или электронную почту, а также с 3D потрогать система отображения меню для Отправить сообщение или Добавить в список контактов, приложение появляется с прозрачными кнопками, что делает удобство бедных. Обход 1 Мы обнаруживаем в viewWillDisappear, если вид был поп, или просто скрыты, так как другой компонент (сборщика изображения, добавлять контакты, смс ...) - (Недействительными) viewWillDisappear: (BOOL) анимированный {BOOL isBeingRemoved = [само isMovingFromParentViewController ] || self.isBeingDismissed; если (isBeingRemoved) {// Хиддинг UINavigationBarItem название NSDictionary * ATTS = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor clearColor], NSForegroundColorAttributeName, ноль]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateNormal]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateHighlighted]; } Еще {// сделать видимым UINavigationBarItem название NSDictionary * АТЦ = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor darkGrayColor], NSForegroundColorAttributeName, ноль]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateNormal]; [[UIBarButtonItem внешний вид] setTitleTextAttributes: ATTS Форстате: UIControlStateHighlighted]; } [Супер viewWillDisappear: анимированные]; } Но, делая это, внешний вид приложений не обновляются, и название приложения больше не прозрачно. Обход 2 Мы попытались применить прозрачный в viewWillAppear и DarkGray в viewWillDisappear, и работает для сборщика изображений, но не для остальных приложений. Обход 3 Мы попытались также установить darkGrayColor без использования внешнего вида в viewWillDisappear, но не работает. self.navigationcontroller.navigationbar.titletextattributes Есть предложения?
Iván Peralta
1

голосов
2

ответ
221

Просмотры

Установка UITableViewCell выбранного цвета фона с UIAppearence не работает

Я хочу, чтобы изменить выбранный цвет всех моих UITableViewCells. Я уже использую UIAppearence определить основные свойства для некоторых других элементов пользовательского интерфейса, и она работает. Однако установка пусть bgColorView = UIView () bgColorView.backgroundColor = #colorLiteral (красный: 0,9411764706, зеленый: 0,9411764706, синий: 0,9411764706, альфа: 1). UITableViewCell.appearance () selectedBackgroundView = bgColorView Результаты в незнакомом глюк, клетка теряет выбор цвета, хотя UITableViewCells все еще выбран: глюк не вызван кодой пользовательского интерфейса, поскольку установка выбранного цвета непосредственно в UITableViewCell.awakeFromNib прекрасно работает, выбранная ячейка остается желаемый цвет. Edit: Это происходит со всеми различными клетками. Клетки ничего интересного не делать, просто установить такие вещи, как этикетки цвета, и т.д. в awakeFromNib и некоторые RxSwift связывания в модели сеттера для установки значений различных меток. В VCs просто реагирует на клетку получения выбранного путем вызова метода делегата (с использованием modelSelected из RxSwift). Edit: VC с UITableView является «левая сторона» из UISplitViewController. «Правая сторона» является UINavigationController и навигация в этом UINavigationController с помощью setViewControllers после нажатия на клетке вызывает странный глюк.
Igor Kulman
1

голосов
0

ответ
17

Просмотры

appearanceForTraitCollection: возвращает NIL

Учитывая следующие строки: UITraitCollection * traitCollection = [UITraitCollection traitCollectionWithHorizontalSizeClass: UIUserInterfaceSizeClassCompact]; UITabBarItem * compactAppearance = [UITabBarItem appearanceForTraitCollection: traitCollection]; UITabBarItem * standardAppearance = UITabBarItem.appearance; compactAppearance всегда ноль, в то время как стандартный внешний вид работает отлично. Я попытался с различной конфигурацией признака без какого-либо успеха. Что я здесь отсутствует. Я попытался с UIButton и это, кажется, работает. Это просто не поддерживается для UITabBarItem? Тогда как бы я чисто определить различные шрифты для Compact против регулярных TabBarItems?
1

голосов
1

ответ
90

Просмотры

Глобально применить градиент к панели навигации и обрабатывать изменения ориентации

Мне нужно, чтобы применить градиент глобально мое состояние и навигации и он правильно настроен на изменения ориентации. Потому что я хочу, чтобы это было глобальным, я пытаюсь использовать UIAppearance. Удивительно, но UIAppearance не делает это очень легко. Он отлично смотрится в портретном, но градиент слишком высок, когда в ландшафтном, так что вы не можете увидеть все это: Вот мой код на данный момент: FUNC приложение (_ аппликаций: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Любой] ?) -> Bool {пусть navigationBarAppearance = UINavigationBar.appearance () navigationBarAppearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white] navigationBarAppearance.isTranslucent = ложь navigationBarAppearance.tintColor = UIColor.white пусть status_height = UIApplication. shared.statusBarFrame.size.height пусть gradientLayer = CAGradientLayer (кадр: CGRect (х: 0, у 0, ширина: 64, высота: status_height + 44), цвета: [UIColor.init (гексан: "005382"), UIColor .init (шестнадцатеричный: "00294B")]) пусть layerImage = gradientLayer.createGradientImage () navigationBarAppearance.barTintColor = UIColor (patternImage: layerImage ?? UIImage ())}, и я использую это расширение: расширение CAGradientLayer {удобство инициализации (кадр : CGRect, цвета: [UIColor]) {self.init () self.frame = кадр self.colors = [] для цвета в цветах {self.colors .append (color.cgColor)} = StartPoint CGPoint (х: 0 , у: 0) = ENDPOINT CGPoint (х: 0, у: 1)} функ createGradientImage () -> UIImage? {Вар изображение: UIImage? = Ноль (UIGraphicsBeginImageContext пределы. размер), если пусть контекст = UIGraphicsGetCurrentContext () {визуализации (в: контекст) изображение = UIGraphicsGetImageFromCurrentImageContext ()} UIGraphicsEndImageContext () возвращает изображение}} Я знаю, что я мог проверить ориентацию, а затем изменить градиент, соответственно, но я должен был бы сделать это на каждом контроллере представления, так что бы поражение цели использования UIAppearance и быть в состоянии сделать это в одном месте. Большинство из нитей SO я нашел обеспечить решения для создания градиента в верхнем баре на уровне контроллера зрения, но не на глобальном уровень. EDIT: Пытался ответ от @Pan Surakami на моем UITabBarController, но я до сих пор есть белые панели навигации: Вот моя установка storybaord: И код: класс MenuTabBarController: UITabBarController {вар notificationsVM = NotificationsVModel () вар hasNewAlerts: Bool = ложно переопределение FUNC viewDidLoad) {super.viewDidLoad () setTabs (() styleUI () {notificationsVM.fetchData (успех, newNotifications), если успех {self.hasNewAlerts = newNotifications.count> 0? правда, ложь DispatchQueue.main.async {если пусть tabBarItems = self.tabBar.items {для (_, каждый) в tabBarItems.enumerated () {если each.tag == 999 {// только обновление предупреждений tabBarItem тег == '999' self.updateAlertBadgeIcon (self.hasNewAlerts, alwaysOriginal) item.selectedImage = UIImage (названный: "оповещение выбранного-hasAlerts") ?. withRenderingMode (UIImage.RenderingMode.alwaysOriginal)} еще {hasNewAlerts = ложь item.image = UIImage (названо: "тревога-невыбранная-noAlerts") ? .withRenderingMode (UIImage.RenderingMode.alwaysOriginal) item.selectedImage = UIImage (названный: "оповещения выбранных-noAlerts") ?. withRenderingMode (UIImage.RenderingMode.alwaysOriginal)}} // UITabBarDelegate переопределение функ TabBar (_ TabBar: UITabBar, didSelect пункт: UITabBarItem) {если item.tag == 999 {// оповещает tabBarItem тег == '999' updateAlertBadgeIcon (hasNewAlerts, пункт)}, если item.tag == 0 {// фида щелкнул, если пусть feedNav = дети [ 0], как? UINavigationController, пусть feedVC = feedNav.viewControllers [0], как? . FeedViewController {feedVC.tableView.reloadData ()}}} FUNC styleUI () {UITabBar.appearance () BackgroundImage = UIImage.colorForNavBar (цвет: .lightGrey4) UITabBar.appearance () ShadowImage = UIImage.colorForNavBar (цвет:. .Clear .) tabBar.layer.shadowOffset = CGSize.zero tabBar.layer.shadowRadius = 2,0 tabBar.layer.shadowColor = UIColor.black.cgColor tabBar.layer.shadowOpacity = 0,30 (UITabBarItem.appearance) setTitleTextAttributes ([NSAttributedString.Key.foregroundColor: UIColor.grey2, NSAttributedString.Key.font: UIFont (название: "AvenirNext-DemiBold", размер: 12), как любая], как:.
Jim
1

голосов
1

ответ
254

Просмотры

прокси сфера Limit UIAppearance

Я в настоящее время использую внешний вид прокси-объект для настройки моего интерфейса приложения. Я хотел бы знать, если это возможно, чтобы ограничить влияние настройки для элементов внутри конкретного контроллера представления. Другими словами, я могу использовать [UINavigatioBar внешний вид], чтобы изменить цвета и атрибуты шрифта внутри одного конкретного экрана?
Claus
1

голосов
1

ответ
391

Просмотры

UITabBar custom background image applied in one view controller instead of in the AppDelegate

Я работаю с тем в моем iPhone приложение. У меня есть две вкладки в панели вкладок (Timeline и настройки), и когда пользователь переходит на второй вкладке (Settings), выбирает темы в настройках и выбирает тему, это стили фона изображения и панель навигации первого представления таблицы контроллер в первой вкладке (Временная шкала). Это работает. Я хочу, чтобы достичь того же с панелью вкладок, поэтому панель вкладок изменяется вместе с фоновым изображением и навигационной панелью. В моей временной шкале таблицы, я поставил следующий код в viewWillAppear: UIImage * tabBackgroundImage = [UIImage imageNamed: @ "Purplepinktopp.png"]; [[UITabBar внешний вид] setBackgroundImage: tabBackgroundImage]; Тем не менее, панель вкладок никогда не меняется. Единственный способ изменить панель вкладок находится в AppDelegate но затем меняет его везде. Мне нужно, чтобы позволить пользователю выбрать тему и соответственно меняется и поэтому мне нужно изменить для каждого контроллера зрения основы, точно так же, как с панелью навигации. В viewWillAppear этой точки зрения временной шкалы таблицы, я установил панель навигации с: UIImage * navBackgroundImage = [UIImage imageNamed: @ "Purplepinknav.png"]; [[UINavigationBar внешний вид] setBackgroundImage: navBackgroundImage forBarMetrics: UIBarMetricsDefault]; Это всегда работает. Это не работает на панели вкладок, однако с указанным кодом. Изменить: Я добавил apperanceWhenContainedIn к viewWillAppear: UIImage * tabBackgroundImage = [UIImage imageNamed: @ "SolidPurple.png"]; [[UITabBar внешний вид] setBackgroundImage: tabBackgroundImage]; [UITabBar appearanceWhenContainedIn: [UITabBar класс], [UITabBar класс], ноль]; Но это Безразлично» кажется, т будет делать что-нибудь. Как я могу идти о фиксации этого? Любая помощь будет очень высокую оценку.
amitsbajaj
1

голосов
1

ответ
301

Просмотры

UIBarButtonItem прыгает на спине жест при использовании пользовательских шрифтов

Я проблема с настройкой UIBarButtonItem названия атрибутов текста. При использовании пользовательских шрифтов (Clear Sans от Intel) он прыгает на спине жест, когда выскакивают контроллер представления. Вы встречались с той же проблемой? Код для установки атрибутов является: [[UIBarButtonItem внешнего вида] setTitleTextAttributes: @ {NSFontAttributeName: [UIFont fontWithName: @ "ClearSans" Размер: 17.0f], NSForegroundColorAttributeName: kRedColor} Форстат: UIControlStateNormal]; Вы можете найти пример GIF здесь. Смотрите кнопку Edit:
Martin Pilch
1

голосов
1

ответ
350

Просмотры

Установить прямой цвет фона вид зрения контроллера с помощью UIAppearance

Как установить прямой вид цвета фона для контроллера представления в моем приложении с помощью UIAppearance, не затрагивая все его подвидов? Похоже, что прошивка 7 заставляют все элементы панели кнопок считать синий цвет?
Boon
1

голосов
2

ответ
172

Просмотры

Изменить все приложения цветовую схему

Итак, у меня есть HomeViewController (рисунок 1) с двумя кнопками, один белый и один синий. В правом нижнем углу вы можете увидеть кнопку, которая модально представляет SettingsViewController (рисунок 2), с этой точкой зрения контроллера есть 4 кнопки, так что пользователь может выбрать цветовую схему они предпочитают. Представьте, пользователь нажмет первый (красный), а затем, при отклонении контроллер представления цветовую схему HomeViewController должен выглядеть как изображение 3. Любые идеи о том, как сделать это на эффективно / простой способ ?.
iDec
1

голосов
1

ответ
568

Просмотры

How Properly To Set Font for All Labels in View Controller Using UIAppearance

Я пытаюсь установить шрифт меток в целом приложение (или, по крайней мере, этикетки, контролируемых View Controller) то же самое, поэтому я выбрал вариант создания категории, как рекомендуется здесь или здесь. Для этих целей я создал метод «setSubstituteFont» в категории UILabel. Тем не менее, синтаксис [[UILabel внешний вид] setSubstituteFont]; дает мне всегда ту же ошибку, если я ставлю это заявление в моем View Controller: терминальность приложения из-за неперехваченное исключение «NSInvalidArgumentException», причина: '- [NSMethodSignature getArgumentTypeAtIndex]: индекс (2) вне границ [0, 1] I предпочитают реализовать эту функцию, на мой взгляд контроллерах, так как мои взгляды .xib, следовательно, использовать Рекомендации «setNeedsDisplay», как здесь, не вариант. Я также пробовал другие варианты, как: [[UILabel appearanceWhenContainedIn: [UIViewController класс], ноль] setSubstituteFont]; или [[UILabel appearanceWhenContainedIn: [само класс], ноль] setSubstituteFont]; или [[UILabel appearanceForTraitCollection: self.traitCollection] setSubstituteFont]; поскольку «appearanceWhenContainedIn» устарела в iOS9 согласно документации, но по-прежнему получать ту же ошибку, и приложение разбился. Между "setSubstituteFont" метод выглядит следующим образом: - (Недействительными) setSubstituteFont UI_APPEARANCE_SELECTOR {self.font = [UIFont fontWithName: @ "GothamRounded книга" размер: 54,0]; } Используемый селектор был взят из списка. traitCollection] setSubstituteFont]; поскольку «appearanceWhenContainedIn» устарела в iOS9 согласно документации, но по-прежнему получать ту же ошибку, и приложение разбился. Между "setSubstituteFont" метод выглядит следующим образом: - (Недействительными) setSubstituteFont UI_APPEARANCE_SELECTOR {self.font = [UIFont fontWithName: @ "GothamRounded книга" размер: 54,0]; } Используемый селектор был взят из списка. traitCollection] setSubstituteFont]; поскольку «appearanceWhenContainedIn» устарела в iOS9 согласно документации, но по-прежнему получать ту же ошибку, и приложение разбился. Между "setSubstituteFont" метод выглядит следующим образом: - (Недействительными) setSubstituteFont UI_APPEARANCE_SELECTOR {self.font = [UIFont fontWithName: @ "GothamRounded книга" размер: 54,0]; } Используемый селектор был взят из списка.
Darius Miliauskas
1

голосов
1

ответ
480

Просмотры

Установить внешний вид по умолчанию для подкласса UIView без перекрывая инициализации () в Swift 3.1

У меня есть подкласс UITextView, который должен иметь определенный внешний вид по умолчанию. До сих пор я был в состоянии добиться этого с помощью переопределения функции класса Initialize (), который был устаревшее в Swift 3.1. класс CustomTextView общественности: UITextView {переопределить Func Initialize общественного класса () {self.appearance () BackgroundColor = .green}.} Есть ли способ, чтобы достичь того же чистого Swift?
Davor Bauk
1

голосов
1

ответ
1.6k

Просмотры

Как настроить UITabBar текстовую метку?

Кто-нибудь знает, как использовать внешний вид прокси-объект [[UITabBar внешний вид] установлен ....]; настроить цвет, шрифт и тень для выбранной / невыбранной наклейки UITabBar? большое спасибо.
Claus
1

голосов
1

ответ
1.7k

Просмотры

setBackgroundImage for UIBarButtonItem via appearance not working for other UIControlStates

Я пытаюсь настроить UIBarButtonItem с помощью метода внешнего вида (> IOS 5,0). Он отлично работает для UIControlStateNormal, но не особо или отключена. Смотрите изображения Вот код, я использую, чтобы установить те: // теперь настроить UIBarButtonItems UIImage * buttonBGInactive = [[UIImage imageNamed: @ "Кнопка-Navbar-30-inactive.png"] resizableImageWithCapInsets: UIEdgeInsetsMake (0, 15, 0, 15 )]; UIImage * buttonBGActive = [[UIImage imageNamed: @ "Кнопка-Navbar-30-pressed.png"] resizableImageWithCapInsets: UIEdgeInsetsMake (0, 15, 0, 15)]; [[UIBarButtonItem appearanceWhenContainedIn: [MFMailComposeViewController класс], ноль] setBackgroundImage: buttonBGInactive Форстат: UIControlStateNormal barMetrics: UIBarMetricsDefault]; [[UIBarButtonItem appearanceWhenContainedIn: [MFMailComposeViewController класс], ноль] setBackgroundImage: buttonBGActive Форстат: UIControlStateHighlighted barMetrics: UIBarMetricsDefault]; Есть идеи? Сами изображения 30x30px и я не требующее ландшафтный режим.
horseshoe7
1

голосов
3

ответ
324

Просмотры

настроить uibarbuttonitem без uiappearance

Есть ли способ настроить все uibarbuttonitems иметь фоновое изображение без использования UIApperance? К сожалению, наша кодовая имеет некоторые ограничения, и мы не можем использовать UIAppearance поэтому я ищу альтернативу. Заранее спасибо. Edit: я был в состоянии сделать это, подклассы UIBarButtonItem и это работает для большинства моих кнопок ... но мне интересно, в частности, как это сделать с помощью кнопок по умолчанию, как кнопки редактирования UITableView и UINavigationController backbuttons. Спасибо!
VTS12
1

голосов
3

ответ
128

Просмотры

Должен ли я подкласс только для UIAppearance

В принципе, я рефакторинг приложения после прочтения о UIAppearance. Большинство моих изменений пользовательского интерфейса были в раскадровке или в viewDidLoad и настройка каждого элемента управления было болью в заднице. У меня есть клетка, которая содержит две метки, скажем bigLabeland smallLabel. Я хотел бы bigLabel быть смелым, и smallLabel не быть. Из этой лекции, я должен подклассы как этикетки и применить внешний вид на различные классы. Мой вопрос, что практика является лучшим: Подкласс обе метки Просто измените атрибуты через раскадровку Что-нибудь еще? Благодарю.
DCMaxxx
1

голосов
2

ответ
883

Просмотры

IOS Строка состояния не будет оставаться Light

В моем App делегата У меня есть следующий код, но он остается полностью темным выше панель навигации, где вы не можете увидеть что-нибудь. Если удалить фоновое изображение для навигационной панели, он правильно показывает его как свет содержания, но я не уверен, что будет блокировать его, когда присутствует. Фоновое изображение для UINavigationBar является 320x44. - (BOOL) применение: (*) UIApplication применение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {UIImage * theBackground = [[UIImage imageNamed: @ "navbar.png"] resizableImageWithCapInsets: UIEdgeInsetsMake (0, 0, 0, 0)] ;; если (этаж (NSFoundationVersionNumber)
user717452
1

голосов
2

ответ
2k

Просмотры

Отображение и кнопки скрываются с пользовательской анимацией

Теперь я имею такую ​​анимацию: UIView.animateWithDuration (0.5) {() -> Пустота в self.scrollToTopBtn.alpha = self.isVisible (self.searchBar.searchBar)? 0: 0.6} Кнопка расположена в нижнем правом углу экрана. Я хочу, чтобы она появится двигаться справа налево и пропадают движущихся слева направо. Как я могу это сделать?
Hreno Hrenovich
1

голосов
1

ответ
536

Просмотры

UISearchBar.appearance() not working on first launch?

В моем AppDelegate я настроить мои UISearchBars в моем приложении (у меня есть несколько), так что они будут соответствовать приложениям цвета и такому. (Приложение цвета иш рода чирок). Мой код выглядит следующим образом: // Задает появление UISearchBar для приложения внешнего вида UISearchBar.appearance () tintColor = UIColor.whiteColor () UITextField.appearanceWhenContainedInInstancesOfClasses ([UISearchBar.self]) tintColor = appColor UITextField.appearanceWhenContainedInInstancesOfClasses ([UISearchBar... . самостоятельно]) шрифта = UIFont.init (название: "AvenirNext-Medium", размер: 17) UITextField.appearanceWhenContainedInInstancesOfClasses ([UISearchBar.self]) TextColor = UIColor.whiteColor () UISearchBar.appearance () searchBarStyle = UISearchBarStyle... Минимальные UITextField.appearanceWhenContainedInInstancesOfClasses ([UISearchBar.self]). attributedPlaceholder = NSAttributedString.init (строка: "Поиск ...", атрибуты: [NSForegroundColorAttributeName: UIColor.whiteColor ()]) UISearchBar.appearance () setImage (UIImage (названный:. "searchIcon"), forSearchBarIcon: UISearchBarIcon.Search, состояние: UIControlState .Normal) После всего этого, это то, что происходит при первом запуске: текст по-прежнему серый цвет, даже если я установить его, чтобы быть белым в AppDelegate. Когда я нажимаю на панели поиска: И когда я ударил отменить: Это то, что он должен выглядеть. Я не уверен, почему текст серый до взаимодействия с пользователем. у кого-нибудь есть решение? UISearchBarIcon.Search, состояние: UIControlState .Normal) После всего этого, это то, что происходит при первом запуске: текст по-прежнему серый цвет, даже если я установить его, чтобы быть белым в AppDelegate. Когда я нажимаю на панели поиска: И когда я ударил отменить: Это то, что он должен выглядеть. Я не уверен, почему текст серый до взаимодействия с пользователем. у кого-нибудь есть решение? UISearchBarIcon.Search, состояние: UIControlState .Normal) После всего этого, это то, что происходит при первом запуске: текст по-прежнему серый цвет, даже если я установить его, чтобы быть белым в AppDelegate. Когда я нажимаю на панели поиска: И когда я ударил отменить: Это то, что он должен выглядеть. Я не уверен, почему текст серый до взаимодействия с пользователем. у кого-нибудь есть решение?
Minebomber
1

голосов
2

ответ
1.6k

Просмотры

Изменение Оттенок цвета кнопки CLEAR, внутри UISearchBar НЕ ОТМЕНИТЬ КНОПКА

Я хочу, чтобы настроить кнопку внутри UISearchBar отмены, который появляется, когда пользователь должен набрать текст, чтобы очистить текст, увидеть изображение, я хочу, чтобы изменить оттенок цвета кнопки внутри красного квадрата НЕ кнопка с «отменить» текст Что я пробовал: [[UIButton appearanceWhenContainedIn: [UISearchBar класс], ноль] setTintColor: [UIColor redColor]]; но он меняет цвет кнопки с текстом «отменить» не значок, чтобы очистить текст в текстовое поле, это не дубликат вопрос, потому что я хочу, чтобы изменить оттенок четкого изображения по умолчанию, НЕ используя пользовательский образ, что-то вроде что: Как изменить оттенок цвета кнопки ясном на UITextField но UISearchBar
iOSGeek
1

голосов
3

ответ
2.5k

Просмотры

IOS 8: UIButton шрифт внешний вид

Попытка установить шрифт UIButton в для всех кнопок, используя внешний вид в прошивке 8. После погуглить, кажется, что компания Apple изменила способ, вы делаете это с ОС OS. В прошивке 7, это должно было сработать: UIButton.appearance () titleLabel .font = UIFont.inviteButtonTitleFont () Но это не похоже на работу больше.?. Кто-нибудь знает, как вы это делаете сейчас?
RyJ
1

голосов
1

ответ
91

Просмотры

Внешний вид UIAlertController

Я хочу, чтобы стиль вида моего AlertController в приложении, используя внешний вид. Он хорошо работает для фона и кнопок, но независимо от того, что я стараюсь, этикетки для заголовка и сообщения всегда остаются черными. Вот что я делаю: UIView.appearance (whenContainedInInstancesOf: [UIAlertController.self]) tintColor = .orange UIVisualEffectView.appearance (whenContainedInInstancesOf: [UIAlertController.self]). Эффект = UIBlurEffect. (Стиль: .dark) UILabel.appearance ( whenContainedInInstancesOf: [UIAlertController.self]) TextColor = .white Это результат я получаю:. Любые идеи, как я могу установить цвет заголовка и сообщения, или почему изменения внешнего вида UILabel не работает в этом случае?
gebirgsbärbel
1

голосов
1

ответ
1.2k

Просмотры

Можно ли кожа видеопроигрывателя в прошивке 5?

Я знаю, что UIAppearance был введен в прошивке 5, но есть ли способ использовать новый протокол Рескин в MPMoviePlayerController, или мне еще нужно, чтобы мои руки грязные, используя методы DrawRect и тому подобные? Кто-нибудь есть хорошие примеры reskinned видеоплеер для IPad?
jowie
1

голосов
1

ответ
676

Просмотры

Как я могу получить доступ к моему свойству UINavigationBar с этой конфигурацией?

Мой главный контроллер представления встроен в UINavigationController. На моем главном экране Я кнопочный заголовок к другому View Controller, давайте назовем его «settingsController». Проблема заключается в том, что я изменил внешний вид моей UINavigationBar в моем NavigationController (с UIAppearance или подклассов UINavigationBar, фигу). Но я не хочу обычая в моей Панели навигации settingsController, где у меня нет атрибута в IB Панели навигации. Так как я могу изменить это? Спасибо за ваши советы EDIT: быстро, чтобы подвести итог этого:
Rob
1

голосов
2

ответ
1.2k

Просмотры

Не могу найти где-нибудь UI_APPEARANCE_SELECTOR

IOS документации UIAppearanceContainer протокола Ссылка говорит: «Для того, чтобы участвовать в появление прокси API, помечать внешний вид методы доступа к свойствам в вашем заголовке с UI_APPEARANCE_SELECTOR.» Но когда я, например, открыть UIButton.h, я не могу найти где-нибудь UI_APPEARANCE_SELECTOR, хотя я могу использовать что-то вроде этого: проблемы заменяется без [[UIButton внешний вид] setBackgroundImage: [[UIImage imageNamed: @ "UIButton"] resizableImageWithCapInsets: UIEdgeInsetsMake (5.0, 5.0, 5.0, 5.0)] Форстат: UIControlStateNormal]; Может кто-нибудь сказать мне, что происходит: D?
xx77aBs
1

голосов
0

ответ
55

Просмотры

UISearchController appearance troubles

Я в настоящее время разрабатывает приложение с поиском функционально, для этого я использую UISearchController. SearchBar из UISearchController находится дисплей в NavigationItem. Проблема заключается в том, что, когда поиск осуществляется, можно щелкнуть на элементе, чтобы отобразить детали в UIViewController. В этом UIViewController, я сделать прозрачную Панель навигации, но когда мнение отклонить, у меня есть проблемы с SearchBar и STATUSBAR внешнего видом, даже если я сбросить Панель навигации в методе viewWillAppear в UIViewController, который отображение UISearchController. // Extension, чтобы сделать прозрачным или Панель навигации в качестве расширения UINavigationBar "по умолчанию" {FUNC setTransparent () {setBackgroundImage (UIImage (), для:. по умолчанию) isTranslucent = истина ShadowImage = UIImage ()} функ SetDefault () {setBackgroundImage (ноль для: .DEFAULT) isTranslucent = истина ShadowImage = ноль}} // я поставил планку в качестве "по умолчанию", когда SearchController появляются переопределение Func viewWillAppear (_ анимированный: Bool) {super.viewWillAppear (анимированный) self.navigationController .navigationBar.setDefault ()?} // Я установил бар прозрачным, когда ViewController толкает переопределение FUNC viewWillAppear (_ анимированный: Bool) {super.viewWillAppear (анимированный) self.navigationController? .navigationBar.setTransparent ()} Так как видео лучше, чем слова! Я не сейчас, если это ошибка IOS, но я искал приложения, которые имеют такое же поведение я ожидаю, и я обнаружил, что телевизор приложение Apple, сделать то же самое, но в TV App эту работу отлично. Видео здесь Как я могу сделать такое же поведение?
Jean-Charles Neboit
1

голосов
3

ответ
458

Просмотры

Разница между UIBarButtonItem появление прошивкой 5 и IOS 6

Я использую внешний вид прокси, чтобы установить фоновое изображение кнопки возврата в навигационной панели. [[UIBarButtonItem внешний вид] setBackButtonBackgroundImage: [[UIImage imageNamed: @ "Стрелка-обратно кнопки"] resizableImageWithCapInsets: UIEdgeInsetsMake (0, 9, 0., 0..)] Форстате: UIControlStateNormal barMetrics: UIBarMetricsDefault]; Это прекрасно работает для IOS 6, выглядит абсолютно совершенным. В прошивке 5, однако, фоновое изображение начинает повторять, почти как если кнопка выше или что-то. ИОС 5: IOS 6: Изображение, используемое (с цветным фоном, чтобы выделить размер). Может кто-нибудь помочь мне сделать кнопку назад выглядеть правильно прошивкой 5? EDIT: Вот результат, если я не использую resizableImageWithCapInsets :.
Josh
1

голосов
1

ответ
3.9k

Просмотры

UISearchBar полностью настраиваемый фон

Я пытаюсь изменить внешний вид UISearchBar, чтобы получить следующий результат Custom Search Bar http://imageshack.com/a/img194/3835/jhl7.png Я попытался с помощью методов UIAppearance, а также путем удаления UISearchBarBackground, но кажется, что граница текстового поля не может быть удалена. Лучший результат я полученный: Проблема не в увеличительное стекло, но граница :)
LiohAu
1

голосов
1

ответ
1.1k

Просмотры

UINavigationBar внешний вид setBackgroundImage Скрывает Status Bar

UIImage * gradientImage46 = [[UIImage imageNamed: @ "navbar.png"] resizableImageWithCapInsets: UIEdgeInsetsMake (0, 0, 0, 0)]; [UINavigationBar внешний вид] setBackgroundImage: gradientImage46 forBarMetrics: UIBarMetricsDefault]; Я использую это, чтобы настроить внешний вид моих панелей навигации в моем приложении. Однако, это вызывает в строке состояния, чтобы быть сплошным черным цветом, не показывая ничего ... время, носитель, аккумулятор и т.д. Является ли это ошибка, или же я реализую это неправильно? У меня это работает в панели вкладок с помощью метода MainWindow.xib для интерфейса. Первая закладка только навигация контроллер с контроллером зрения внутри него. Другая вкладка является Навигационный контроллер с контроллером TableView внутри. Если я иду с одной вкладки в виде таблицы, а затем снова появляется в строке состояния. Navbar.png составляет 320 х 44 пикселей.
user717452
1

голосов
1

ответ
726

Просмотры

Могу ли я обнаружить IOS»затемнить цвета" установка?

Я заметил, что мое приложение не выглядит хорошо, когда «затемнить цвета» Настройка системы IOS включена. Некоторые кнопки навигации белые, некоторые из них затемнены серым. Есть ли способ, чтобы обнаружить, если этот параметр включен?
Ortwin Gentz
1

голосов
4

ответ
4.8k

Просмотры

Как установить UIButton шрифт через внешний вид проксите в прошивке 8?

Я попытался установить шрифт UIButton через внешний вид прокси. Но это не похоже на работу. Это то, что я пытался. UIButton.appearance () titleFont = UIFont. (Имя: FONT_NAME_DEFAULT, размер: 20,0) UIButton.appearance () titleLabel .font = UIFont.? (Имя: FONT_NAME_DEFAULT, размер: 20,0) Как установить UIButton шрифт через внешний вид прокси в прошивкой 8 ? EDIT: Найдено в ссылке vaberer: «Я удивляюсь, что UIButton не имеет никаких свойств UI_APPEARANCE_SELECTOR, но соответствует протоколу UIAppearance.»
Hlung
2

голосов
2

ответ
332

Просмотры

Как создать UIAppearance прокси-сервер для унаследованной зрения в MonoTouch?

Я создал подкласс UIButton, который действует как пользовательские кнопки Назад внутри UIBarButtonItem: - - - - - - - - - - - - - - - - - | UIBarButtonItem | | ------------------------ | / | | \ BackButton: UIButton | | ------------------------ | _ _ _ _ _ _ _ _ _ _ _ | Как я переключал свой код, используя UIAppearance, я заметил, что BackButton.Appearance есть unsuprisingly, унаследованный от UIButton.Appearance, и, следовательно, изменение это изменит все UIButtons по всему приложению, а не только мои пользовательские кнопки. Я знаю, что могу использовать AppearanceWhenContainedIn но, поскольку UIBarButtonItem это не внешний вид контейнера, я должен вставить другую точку зрения между ними, чтобы признать назад кнопки, которые я не хочу делать. Как обеспечить UIAppearance прокси для моего пользовательского UIButton подкласса, который имеет все методы, доступные в UIButton.UIButtonAppearance? Я заметил, что его конструктор является внутренним.
Dan Abramov
6

голосов
2

ответ
1.8k

Просмотры

Изменение цвета текста всех UITableViewCells с использованием UIAppearance

Я не могу изменить текст цвета в UITableViewCell, используя механизм UIAppearance. Вот мой код с комментариями, показывая, что работает для меня, а что нет: UITableViewCell * ячейка = [UITableViewCell внешний вид]; cell.backgroundColor = [UIColor blueColor]; // работает cell.textLabel.textColor = [UIColor whiteColor]; // НЕ РАБОТАЕТ cell.detailTextLabel.textColor = [UIColor redColor]; // НЕ РАБОТАЕТ UILabel * cellLabel = [UILabel appearanceWhenContainedIn: [UITableViewCell класс], ноль]; cellLabel.textColor = [UIColor whiteColor]; // работает, как вы можете видеть, второй способ работает, но я не могу установить различные цвета для обычного текста и детализации текста. Есть ли что-то, что я делаю неправильно? PS Defining материал статически в Interface Builder не будет работать для меня - у меня есть темы, которые могут быть изменены динамически во время выполнения.
frangulyan
17

голосов
4

ответ
5.2k

Просмотры

UIAppearance прокси для пользовательских объектов

У меня есть пользовательский объект, он наследует от NSObject. Этот объект делает «некоторые вещи», один из этого является создание UIView с некоторыми объектами UIKit (UILabel, UIButtons КИО КИО, ...). Этот объект имеет некоторые свойства, такие как: TextColor, шрифт, BackgroundColor ..., которые используются для настройки внешнего вида содержащихся объектов UIKit. Я хотел бы настроить эти свойства «один выстрел» для всех созданных экземпляров этого объекта, и я посмотрел на протоколе UIAppearance. Стандартные UIKit объекты уже соответствует протоколу UIAppearance, но я не хочу, чтобы применить стиль на ВСЕХ UILabels или UIButtons. Я хочу, чтобы применить стили только к UILabels и UIButtons, содержащееся в моих экземплярах объектов. Кроме того, я не могу (и не хочу) использовать appearanceWhenContainedIn: потому что разработчик, использующий мой пользовательский объект не может знать, какие объекты «содержатся» внутри него. Итак, я смотрел, как сделать мой пользовательский объект соответствует протоколу UIAppearance. AFAIK он должен реализовать метод внешнего вида + (ID). Этот метод должен возвращать прокси-объект, где вы можете отправить все ваши настройки. Но, глядя на метод появления объектов UIKit, я вижу, что частный объект возвращается. Объект класса _UIAppearance. Таким образом, кажется, что компания Apple не дает мне стандартный прокси-объект для настройки моей, и я должен создать, если с нуля. Правильно ли это или я теряю что-то? Спасибо Этот метод должен возвращать прокси-объект, где вы можете отправить все ваши настройки. Но, глядя на метод появления объектов UIKit, я вижу, что частный объект возвращается. Объект класса _UIAppearance. Таким образом, кажется, что компания Apple не дает мне стандартный прокси-объект для настройки моей, и я должен создать, если с нуля. Правильно ли это или я теряю что-то? Спасибо Этот метод должен возвращать прокси-объект, где вы можете отправить все ваши настройки. Но, глядя на метод появления объектов UIKit, я вижу, что частный объект возвращается. Объект класса _UIAppearance. Таким образом, кажется, что компания Apple не дает мне стандартный прокси-объект для настройки моей, и я должен создать, если с нуля. Правильно ли это или я теряю что-то? Спасибо
LombaX
17

голосов
3

ответ
9.1k

Просмотры

Override UIAppearance свойство для MFMailComposeViewController

Я использую протокол UIAppearance установить фоновое изображение объектов UINavigationBar на протяжении всего моего приложения. [[UINavigationBar внешний вид] setBackgroundImage: [UIImage imageNamed: @ "имидж-имя"] forBarMetrics: UIBarMetricsDefault]; Я хотел бы изменить это для случаев MFMailComposeViewController так, что отображается панель навигации стиля по умолчанию. Я пытался использовать appearanceWhenContainedIn, чтобы установить это, и это работает на прошивке 5, но не на прошивке 6. [[UINavigationBar appearanceWhenContainedIn: [MFMailComposeViewController класс], ноль] setBackgroundImage: ноль forBarMetrics: UIBarMetricsDefault]; Могу ли я сделать ошибку или есть лучший способ сделать это?
markdorison
17

голосов
1

ответ
9.5k

Просмотры

UIAppearance Swift 4

После обновления Swift 4, я получаю ошибку компиляции: Статический член «внешний вид» не может быть использован по протоколу метатипом «UIAppearance.Protocol» Вот мой метод viewWillAppear в моем обычае Tab Bar Controller подклассу, я устанавливаю шрифт элемента текст. переопределить функ viewWillAppear (_ анимированный: Bool) {super.viewWillAppear (анимированный) // компилятор ошибок на линии ниже UIAppearance.appearance () setTitleTextAttributes. ([NSAttributedStringKey.font: шрифт], для: UIControlState.normal)} У меня Проблема фиксации этого, любое руководство будет оценено, спасибо!
Eli Whittle
17

голосов
6

ответ
10.3k

Просмотры

Изменение навигации цветой кнопки в MFMailComposerViewController на прошивке 7

Я пытаюсь изменить цвет текста для навигационных кнопок в MFMailComposerViewController, но он не работает, как на прошивке 6. В IOS 6 он работал с UIAppearance так: // Кнопка навигация UIBarButtonItem * barButton = [UIBarButtonItem внешнего вид]; NSDictionary * barButtonTitleTextAttributes = @ {UITextAttributeTextColor: [UIColor redColor]}; NSDictionary * disabledBarButtonTitleTextAttributes = @ {UITextAttributeTextColor: [UIColor grayColor]}; [BarButton setTitleTextAttributes: barButtonTitleTextAttributes Форстат: UIControlStateNormal]; [BarButton setTitleTextAttributes: disabledBarButtonTitleTextAttributes Форстат: UIControlStateDisabled]; [BarButton setBackgroundImage: [[UIImage imageNamed: @ "btn_appearance"] stretchableImageWithLeftCapWidth: 6 topCapHeight: 0] Форстат: UIControlStateNormal barMetrics: UIBarMetricsDefault]; Но это не работает на 7 прошивке и выглядит всегда так: Я также попытался установить атрибут tintColor на Панели навигации, но это не имеет никакого эффекта либо: navigationBar.tintColor = [UIColor redColor]; Есть в любом случае, чтобы изменить цвет текста кнопки навигации в MFMailComposeViewController на прошивке 7?
OemerA
17

голосов
4

ответ
15.9k

Просмотры

Настройка панели навигации назад изображение кнопки

Я хочу, чтобы установить кнопку назад в моем UINavigationBar к этому образу: Я не хочу, чтобы изображение встраиваться в стандартных обратно изображениях кнопки, я просто хочу, чтобы появиться это изображение. Я знаю, что смотреть на другие вопросы, которые я могу использовать: [[UIBarButtonItem внешнего вида] setBackButtonBackgroundImage: barButtonImage Форстат: UIControlStateNormal barMetrics: UIBarMetricsDefault]; установить фоновое изображение кнопки возврата. Но это приводит к тому, изображение растягивается, и именно этот образ не является, насколько я могу судить, подходит растягиваться. Есть ли способ, что я могу заменить обратно изображение кнопки с моим изображением? Я поддерживаю IOS 5.0 и выше.
Darren
18

голосов
3

ответ
3.4k

Просмотры

UISwitch setThumbTintColor вызывает сбой (IOS только 6)?

UPDATE: Получил письмо от компании Apple о том, что ошибка / проблема была исправлена, и следующий релиз SDK не будет иметь этот вопрос. Мир! Я это в коде моего AppDelegate: - (Недействительными) customizeAppearance {[[UISwitch вид] setOnTintColor: [UIColor colorWithRed: 0 зеленый: 175,0 / 255,0 синий: 176,0 / 255,0 альфа: 1,0]]; [[UISwitch внешний вид] setTintColor: [UIColor colorWithRed: 255.0f / 255.0f зеленый: 255.0f / 255.0f синий: 255.0f / 255.0f альфа: 1.000f]]; [[UISwitch внешний вид] setThumbTintColor: [UIColor colorWithRed: 0,9 зеленый: 0,9 синий: 0,9 альфа: 1,0]]; } Что я тогда звонить из - (BOOL) применение: (UIApplication *) didFinishLaunchingWithOptions применения: (NSDictionary *) launchOptions Я также использую ARC. В IOS 6 мое приложение сохраняет сбой. Я включил NSZombie и продолжает говорить: *** - [UIDeviceRGBColor выпуск]: Сообщение, отправленное на освобождаться инстанции 0x9658eb0 И теперь я понял одну совершенно воспроизводимый поток для выше. Когда я закомментируйте setThumbTintColor линию одна внутри customizeAppearance, то все работает отлично, как это должно быть. Когда я использую setThumbTintColor линию вместо этого, приложение выходит из строя точно так же каждый раз. Это известная проблема для тех, кто с UISwitch / setThumbTintColor / UIColor? Что еще может быть причиной, если не цвет переключатель? Это известная проблема для тех, кто с UISwitch / setThumbTintColor / UIColor? Что еще может быть причиной, если не цвет переключатель? Это известная проблема для тех, кто с UISwitch / setThumbTintColor / UIColor? Что еще может быть причиной, если не цвет переключатель?
Bourne

Просмотр дополнительных вопросов