2015-10-23 4 views
0

here is the screenshot(swift) Любой может помочь мне сделать массовое изменение этих кнопок?

, когда пользователь попадает на эту страницу, я хочу изменить фон этой кнопки. например, когда уровень пользователя равен 6, я хочу изменить верхний 6 фона кнопок на синее изображение в качестве первой кнопки. Я не хочу писать код один за другим, поэтому, пожалуйста, помогите мне написать функцию, спасибо вам большое!

ответ

0

Вы можете добавить вам кнопки в массив в порядке возрастания уровня и сделать что-то вроде этого:

var buttons: [UIButton] // array of your buttons, next you need to init it 
... 
func setColorForUserLevel(userLevel: Int) { 
    if userLevel > buttons.count { 
     return 
    } else { 
     for i in 0...userLevel - 1 { 
      buttons[i].backgroundColor = UIColor.blueColor() 
     } 
    } 
} 

Я создаю простой пример проекта, чтобы показать, как использовать его:

  1. I имеют выходы с UIButton! типа и buttons объект в коде: enter image description here

  2. И я проверить setColorForUserLevel функция в viewDidLoad метод:

    переопределение FUNC viewDidLoad() { super.viewDidLoad()
    кнопки = [Button1, button2, Button3] setColorForUserLevel (2)}

+0

@IBOutlet слабый var LevelOutlet2: UIButton! var buttons: [UIButton] = [LevelOutlet2] У меня проблема с init. Xcode сообщит мне, что у controller.type нет члена 'LevelOutlet2' –

+0

Измените 'var buttons' на' @IBOutlet var add: [UIButton]! 'И соедините все кнопки с этой коллекцией. Запустите цикл, чтобы изменить то, что вы хотите. – truongky

+0

Я отредактировал ответ, проверьте его для получения более подробной информации. –

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