У меня есть расширяемый UITableView, который может расширяться/сворачиваться, когда пользователи нажимают кнопку. Способ изменения содержимого при нажатии кнопки и присвоение contentSize.height высоте таблицы. Он хорошо работает в iOS 6.UITableView не отображается на основе его высоты в iOS 7
Однако, в iOS 7, независимо от того, какое значение я устанавливаю на высоту таблицы, оно отображается так, как высота никогда не изменяется и новое содержимое отключается. Высота, похоже, придерживается высоты начала в раскадровке. Но если я печатаю высоту таблицы, это правильно значение, которое я задал.
Вот как я могу изменить его высоту:
//Do some change to the content...
[tableview reloadData];
NSLog(@"height: %f, contentHeight: %f", tableview.frame.size.height, tableview.contentSize.height);// print height: 60, contentHeight: 160
CGRect frame = tableview.frame;
frame.size.height = tableview.contentSize.height;
tableview.frame = frame;
NSLog(@"height: %f, contentHeight: %f", tableview.frame.size.height, tableview.contentSize.height);// print height: 160, contentHeight: 160
Есть идеи?
p.s. Табличное представление находится в UIScrollView. (если это имеет значение.)
Каждый 'UITableView' находится в' UIScrollView' по умолчанию. Если вы добавили еще один вручную, вы действительно не должны этого делать. –
Почему вы помещаете свой UITableView в другой UIScrolView? Вам это действительно нужно? Фактически, как сказал Марко, UITableView уже имеет доступ к UIScrollView, поэтому, возможно, удаление контейнера scrollview будет отвечать вашим потребностям. – Vinestro