2016-04-21 5 views
-1

У меня есть одна кнопка в файле .xib.Работа с xib и viewController

Я хочу, чтобы, если я нажму на эту кнопку .xib-файл цвет viewController должен быть изменен.

Как я могу это сделать?

Должен ли я использовать NSNotification или есть ли другой способ сделать это?

+0

нагружают XIB с помощью loadnibname и оных вид как подвид к контроллеру представления и установки целевого действия для кнопки :) написать метод в контроллере представления, наконец, изменить цвет, используя [self.view setBackgroundColor : «ваш цвет»] thats all :) –

+0

целевое действие для кнопки будет в быстроходном файле .xib .. не в его представлении контроллера. я прав? –

+0

могу я знать, почему у вас есть кнопка в отдельном xib ?? Почему вы не размещаете его в своем представлении? Код будет гораздо легче иметь дело с не так :) –

ответ

0

Подключите UIButton на XIb с IBAction в классе, унаследованной от UIViewController и изменить view свойство UIViewController. Вы можете сделать это, используя self.view.backgroundColor

Вот простой фрагмент кода для этого. Надеюсь, поможет.

@IBAction func myButtonPressed(sender: AnyObject) { 
    self.view.backgroundColor = UIColor.redColor() //Or any color of your choice 
} 
+0

Могу ли я подключить кнопку .xib к его классу viewController? @khunshan –

+0

Да. Если вы задали имя унаследованного класса UIViewController в вашем xib -> Identity Inspector (на правой панели) -> Class. Вам нужно создать IBAction в коде и связать его с UIButton из вашего xib-файла. – khunshan

5

A UIViewController не имеет цвета. Возможно, вы говорите о своем корневом представлении, возможно, tintColor от UINavigationBar, если он встроен в UINavigationController?

В любом случае, IBAction подключен к UIButton будет делать то, что вы хотите.

+0

Вы всегда можете установить цвет self.view.backgroundColor :) и viewcontroller будет изменен: P Каждый viewcontroller имеет вид внутри, а не он: P –

+3

@SandeepBhandari Это неправильно и вводит в заблуждение , 'UIViewController' не меняет цвет, это его корень' UIView', который меняется, не распространяйте неверную информацию. – Peres

+0

Я считаю, что я сказал то же самое: P self.view.backgroundColor означает, что вы меняете корневой вид UIViewController :) Не было ничего вводить в заблуждение :) –

Смежные вопросы