Лучший способ - добавить ограничения в collectionView и InputAccessoryView таким образом, чтобы нижнее представление коллекции было привязано к аксессуару и аксессуару в нижней части супер-представления.
Далее Сделайте вывод нижнего пространства в файл .m, а вызов - scrollViewBottomSpace и добавьте следующий код. Constrain будет работать для вас.
# прагма-метка - уведомления на клавиатуре
- (void)addObservers
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
- (void)removeObservers
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
}
#pragma mark - Keyboard notification handlers
- (void)keyboardWillShow:(NSNotification *)notification
{
if(_keyboardIsVisible) return;
CGFloat height = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;
[UIView animateWithDuration:0.2 animations:^{
scrollViewBottomSpace.constant = height+40;
} completion:^(BOOL finished) {
}];
_keyboardIsVisible = YES;
}
- (void)keyboardWillHide:(NSNotification *)notification
{
if(!_keyboardIsVisible) return;
[UIView animateWithDuration:0.2 animations:^{
scrollViewBottomSpace.constant = 0;
} completion:^(BOOL finished) {
}];
_keyboardIsVisible = NO;
}
Массивы в bash определены с помощью ()
. Bash не является статически типизированным, поэтому установка myarray
равной некоторому выводу символов сделает это, сделав его строкой, которую можно отобразить с помощью echo $myarray
, чтобы увидеть полный вывод.
Вам нужно заключить вывод в парены, чтобы было ясно, что ваш новый myarray
также должен быть массивом:
myarray=($(shuf -e "${myarray[@]}"))