2017-02-07 2 views
0

Я создаю калькулятор и хочу, чтобы одна кнопка печатала несколько строк текста. Прямо сейчас надпись 1 текст отменяется при нажатии кнопки. Я хочу использовать ярлык 2 3 и 4, чтобы показать больше строк подобных текстов как на ярлык 1, когда кнопка нажатаОдна кнопка запускает несколько меток

This image shows what i have setup. When i click add course, label 1 line is displayed with the correct information. What i want is the button to use label 2 3 and 4 to display more lines of text as i click add courses

+0

добавьте свой код, пожалуйста, – Ocunidee

ответ

1

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

myTextView.text += "\n You got 100%" 

\n вставляет символ новой строки, убедившись, что ваш новый текст заканчивается на новой линии.


Другим способом было бы добавить ярлыки на выходе Коллекция:

@IBOutlet var labelCollection: [UILabel]! 

и затем Перебор меток в цикле, например, как это:

for label in labelCollection { 
    if label.text.characters.count == 0 { 
     label.text = "You got 100%" 
    } 
} 

Это будет проверять, является ли метка 1 пустой, если она там вставляется текст, если она не пуста, проверьте метку 2 и т. д.

Я лично рекомендовал бы первый подход, так как его проще настроить и поддерживать.

+0

С первым подходом я смогу присвоить идентификатор каждой новой строке текста так, чтобы я мог удалить указанную строку текста с помощью отдельной кнопки? – BestGiraffeNigeria

+0

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

0

Вы могли бы сделать это с помощью, если и еще если утверждения о переменных, например

if grade1 == nil { 
Code for first label 
} else if grade2 == nil { 
Code for second label 
} 

И т. Д. За количество меток, которые вы хотите использовать.

+0

хорошо, вы могли бы, но он быстро стал бы нечитаемым, если бы у вас было больше оценок. Посмотрите на операторы 'switch', но подход @ ast1 лучше подходит для этого сценария – Russell

+0

@ Russell Очень верно, я определенно рекомендую использовать ответ ast1. – Miles

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