На iOS6, я пытаюсь выполнить следующие действия:Добавление кнопки на правой стороне UISearchBar с AutoLayout: «Auto Layout еще требуется после выполнения -layoutSubviews»
UIButton *shortcutButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[shortcutButton setTitle:@"Shortcut" forState:UIControlStateNormal];
[shortcutButton addTarget:self action:@selector(createShortcut) forControlEvents:UIControlEventTouchUpInside];
[shortcutButton setFrame:CGRectMake(0, 0, 70, 20)];
[self.searchBar addSubview:shortcutButton];
[shortcutButton setTranslatesAutoresizingMaskIntoConstraints:NO];
NSMutableArray *searchBarConstraints = [NSMutableArray array];
[searchBarConstraints addObject: [NSLayoutConstraint constraintWithItem:self.searchBar
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:shortcutButton
attribute:NSLayoutAttributeCenterY
multiplier:1
constant:0]];
[searchBarConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[shortcutButton]-35-|"
options:0
metrics:nil
views:@{ @"shortcutButton" : shortcutButton , @"view" : self.view }]];
[self.searchBar addConstraints:searchBarConstraints];
Это приводит к сбою с ошибка:
*** Assertion failure in -[UISearchBar layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2380.17/UIView.m:5776
Uncaught exception: Auto Layout still required after executing -layoutSubviews. UISearchBar's implementation of -layoutSubviews needs to call super.
Я программно создать UISearchbar и пытается вставить UIButton на правой стороне SearchBar. Есть ли способ справиться с этим? Спасибо!