Я розробляю додаток для iOS і використовую Раскадровку з увімкненим AutoLayout. Один з моїх контролерів перегляду має набір з 4 кнопок, і за певних обставин я хотів би змусити перший зникнути.
Якщо я використовую setHidden:TRUE
метод, кнопка UIB стає невидимою, але вона все одно, очевидно, займає місце у поданні, і в результаті виходить "діра", яку я не зміг заповнити, змусивши залишитися кнопку UIB плавати у верхній частині головного виду.
В Android я б просто використовував View.GONE
замість цього View.INVISIBLE
, але в iOS я застряг у цій поведінці, і я не хочу вірити, що єдиним рішенням є ручне (так, я маю на увазі програмне) переміщення решти елементів вгору.
Я думав, що зміг би це зробити, встановивши якийсь Обмеження, щоб зробити все настільки ж автоматичним, як в Android, але мені не пощастило.
Перш ніж я ВИМКНУТИ авторозкладку, хтось може вказати мені правильний напрямок?
Я використовую IB, але мене також влаштовують програмні речі.
ОНОВЛЕННЯ:
Встановлення висоти компонента на 0 також не допомагає.
Я спробував щось подібне:
UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;