Для ios6, использующего autolayout, мне пришлось добавить немного кода, чтобы снять ограничения.
NSMutableArray * constraints_to_remove = [ @[] mutableCopy] ;
for( NSLayoutConstraint * constraint in tagview.constraints) {
if( [tagview.subviews containsObject:constraint.firstItem] ||
[tagview.subviews containsObject:constraint.secondItem] ) {
[constraints_to_remove addObject:constraint];
}
}
[tagview removeConstraints:constraints_to_remove];
[ [tagview subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
Я уверен, что есть лучший способ сделать это, но у меня это сработало. В моем случае я не мог использовать прямой [tagview removeConstraints:tagview.constraints]
, так как в XCode были установлены ограничения, которые очищались.