Ответ 1
Ярлык Cancel
является по умолчанию "заголовком" модально представленного WKInterfaceController, который отображается в строке состояния Apple Watch.
Замена заголовка изображением
Невозможно скрыть строку состояния, а также не отобразить изображение в строке состояния, ни как часть этой ссылки, ни заменить эту ссылку.
Опции для установки названия модального вида
Однако вы можете установить заголовок на новое строковое значение. Например, вы можете захотеть заменить Cancel
на Close
. Существует четыре способа установить этот заголовок, который описан ниже. Убедитесь, что вы прочитали Примечание внизу, так как скорее всего вариант 1 будет приемлемым в большинстве случаев.
-
Вы можете установить заголовок модально представленного WKInterfaceController в Interface Builder. Просто установите атрибут Title в Инспекторе атрибутов. Конечно, только один статический заголовок может быть установлен для каждого WKInterfaceController, хотя он может динамически изменяться во время выполнения с использованием любого из описанных выше механизмов.
-
Вы можете установить заголовок в методе init для модально представленного WKInterfaceController:
override init () { super.init () self.setTitle("Close") }
-
Вы можете установить заголовок непосредственно в методе awakeWithContext модально представленного WKInterfaceController:
override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) self.setTitle("Close") }
-
Вы можете передать название модально представленному WKInterfaceController, используя переменную контекста. В построителе интерфейса установите
identifier
в Инспекторе атрибутов контроллера, который будет представлен в виде модально. (В этом примере он был установлен в "modalController".) Затем вы представляете контроллер, передавая желаемый заголовок в качестве контекста:self.presentControllerWithName("modalController", context: "Close")
Затем в модально представленном контроллере:
override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) self.setTitle(context as? String) }
Примечание:
Текущее "предполагаемое поведение" WatchKit почти наверняка означает, что только первый вариант будет считаться приемлемым в большинстве случаев использования. Это связано с тем, что в настоящее время для остальных трех параметров вы сначала увидите заголовок по умолчанию для представления при его загрузке, который затем будет заменен текстом, который вы установили с помощью setTitle. awakeWithContext работает по дизайну после загрузки представления, но даже с использованием setTitle в init не избегает начального отображения заголовка по умолчанию.
Первый вариант, описанный выше, заменяет Cancel
новым заголовком по умолчанию для представления. Если вы комбинируете собственный заголовок в конструкторе интерфейса с любым из вариантов 2-4 ниже, вы видите точно такой же симптом (начальное название затем заменяется на setTitle
), просто с другим начальным заголовком.