Как остановить UITableView от отсечения содержимого UITableViewCell в iOS 7
Когда я обновил приложение my от iOS6 до iOS7, я заметил, что, когда в iOS6 содержимое ячеек было разрешено пересекать за пределами ячейки, когда для свойства clipsToBounds установлено значение NO в представлении ячеек или contentView, iOS7, похоже, отключает эту даже если общие представления, таблицы, ячейки и элементы содержимого CellToBounds установлены как NO. Вы можете увидеть образец этого во включенных изображениях. Первый - это тестовый код, запущенный на iOS6, а второй - тот же код, что и на iOS7:
![A sample of this running on iOS6]()
Кто-нибудь знает, как решить эту проблему? Я предполагаю, что это всего лишь однострочное исправление, но я потратил несколько часов на это без везения. Чтобы избежать серьезного переписывания и головных болей, которые я имел бы, но играя с просмотром, таблицами, ячейками и элементами cellcontentToBounds была бесплодной - все на NOOS все равно на iOS7, поэтому я не уверен, что происходит по-другому.
Вы можете посмотреть и загрузить образец проекта по адресу: https://github.com/Jon-Schneider/ClipsToBoundsTest
Спасибо!
Ответы
Ответ 1
Похоже, что иерархия представлений немного изменилась в ios7 для ячеек таблицы.
Вы можете попробовать установить рамки для ограничений в надстройке contentView:
[cell.contentView.superview setClipsToBounds:NO];
Если вы добавите следующее в свой пример кода и запустите ios7 vs ios6, вы увидите дополнительное представление между представлением ячейки и представлением содержимого:
[cell.contentView.superview setClipsToBounds:NO];
NSLog(@"%@", cell.contentView.superview);
NSLog(@"%@", cell.contentView.superview.superview);
NSLog(@"%@", cell);
if (self.view.clipsToBounds) {
NSLog(@"Master clips");
} else {
NSLog(@"Master no clip");
}
Ответ 2
Вы можете сделать чанг в инспекторе атрибутов tableview в Clip Subviews.
![enter image description here]()