Просто еще один способ добиться результата, который я нашел полезным. У моего приложения было 11 текстовых полей, за которыми следовал текстовый просмотр. Мне нужно было иметь возможность циклически проходить по всем полям, используя следующую клавишу, а затем подать в отставку клавиатуру, следуя текстовому обзору (то есть другим примечаниям).
В раскадровке я установил тэг на все поля (и текст, и текстовое представление), начиная с 1 по 12, 12 - это текстовое представление.
Я уверен, что есть и другие способы сделать это, и этот метод не идеален, но, надеюсь, он кому-нибудь поможет.
В коде я написал следующее:
func textFieldShouldReturn(textField: UITextField) -> Bool {
let nextTag = textField.tag + 1
//Handle Textview transition, Textfield programmatically
if textField.tag == 11 {
//Current tag is 11, next field is a textview
self.OtherNotes.becomeFirstResponder()
} else if nextTag > 11 {
//12 is the end, close keyboard
textField.resignFirstResponder()
} else {
//Between 1 and 11 cycle through using next button
let nextResponder = self.view.viewWithTag(nextTag) as? UITextField
nextResponder?.becomeFirstResponder()
}
return false
}
func textFieldDidEndEditing(textField: UITextField) {
textField.resignFirstResponder()
}
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
//Remove keyboard when clicking Done on keyboard
if(text == "\n") {
textView.resignFirstResponder()
return false
}
return true
}
См .:
Краткая история: php_sapi_name ()
.
Вот уловка:
Вы можете проверить параметры $ argc / $ argv, которые всегда доступны в режиме CLI.
#!/usr/bin/php
<?php
ini_set('register_argc_argv', 0);
if (!isset($argc) || is_null($argc))
{
echo 'Not CLI mode';
} else {
echo 'CLI mode';
}
Другой трюк, $ _ SERVER
имеет только устанавливаемые переменные. в режиме CLI.