"Простой стиль не поддерживается в навигационном элементе" предупреждение с моим настраиваемым элементом кнопки панели



Я перетащите кнопку круглый прямоугольник на позицию справа пункт панели и установка изображения для кнопки круглый четырехугольник. Все работает хорошо, за исключением предупреждения "простой стиль не поддерживается в навигационном элементе". Даже если я выберу стиль элемента кнопки панели "граничит", предупреждение все равно будет там. Что случилось с Xcode 4.2? Заранее спасибо!



Ps. Я настроил много элементов кнопки бара с круглой прямой Кнопкой, несколько раз Xcode 4.2 показывает только одно предупреждение на элементе кнопки бара, несколько раз показывает предупреждения на всех элементах кнопки панели.

601   8  

8 ответов:

я смог удалить эти ошибки, вручную отредактировав файлы раскадровки и найдя оскорбительную запись style= "plain" на элементах кнопки панели в <navigationItem> элемент.

изменено с:

<barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i">

To:

<barButtonItem key="rightBarButtonItem" id="juB-DL-F9i">

Это очистило предупреждения... правильно это или нет.

Это может быть колоссальный Хак, и большая проблема заключается в том, что я не вызвал его или не удалил невидимые элементы кнопки панели из общего документа. Это было после выхода через все элементы один за другим и обнаружив некоторые панели навигации были пустыми (без детей) и, вероятно, произошло с большим количеством копирования и вставки (cmd+c|v) наследования и не используя дубликат (cmd+d) для построения интерфейса. Хотя исходная причина не была вызвана корнем, симптом состоял в том, что элементы панели не отображались в документе "представление структуры", которое должно быть исправлено. Поведение Interface Builder поражает меня как нюансы время от времени и пустой контейнер, где должно быть что-то в схема-это запах. Ну, это для меня сейчас. Иногда удаление нарушающего узла и перестройка исправляет самые странные проблемы.

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

изменить: поставить скобки в коде блоки

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

в браузере файлов щелкните правой кнопкой мыши на раскадровке и выберите Open As Source Code

enter image description here

на странице исходного кода найдите "обычный" и найдите тот, который прикреплен к навигации Пункт.

enter image description here

чтобы получить имя представления, поместите "сцену" в строку поиска и нажмите стрелку обратного поиска, чтобы найти первый экземпляр на этом теге выше the navigationItem

enter image description here

здесь Название вашей сцены, теперь вы можете изменить свой вид раскадровки обратно в Interface Builder - Storyboard С помощью метода правой кнопки мыши, описанного выше, а затем перейдите к выбору сцены в меню сцена, и Бар элемент внутри него.

enter image description here

перейдите в Инспектор атрибутов и измените стиль от Plain до Bordered

enter image description here

Я остановил предупреждение о простом стиле, ткнув в контур документа. Это показывало мой навигационный элемент, и в пределах этих двух элементов кнопки панели, и в каждом из них кнопка. Оскорбительная настройка была на элементе кнопки панели. В своих атрибутах инспектор я изменил стиль с простого на готовый,и предупреждение ушло. Примечание: Я использую XCode 5.

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

Bar Button Style set to plain

backBarButtonItemleftBarButtonItem и rightBarButtonItem are UINavigationItem объекты. Нет никакого style в собственность UINavigationItem так вот в чем причина предупреждения. Вы должны установить кнопки программно:

iOS 4:  

UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect];
 [bt setFrame:YourFrame];
 //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal];
 [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside];
 UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt];
 self.navigationItem.leftBarButtonItem=leftButton;

для iOS 5+:

прочитайте раздел "настройка внешнего вида"UIBarButtonItem ссылка.

в панели навигации попробуйте использовать UIBarButtonItem вместо круглой кнопки rect и установите для нее изображение .

в моем случае это было изображение стрелки назад, которая была установлена на "равнина".

сообщение об ошибке относится ко всем элементам на панели навигации.

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

Comments

    Ничего не найдено.