Изменение размеров UIViews

Короткий ответ - то, что это невозможно, потому что константы имеют значение .

, Например, я мог бы записать функцию, которая работает в O((n^3/k) + n^2). Это упрощает до O (n^3), потому что как n бесконечность подходов, эти n^3 термин будет доминировать над функцией, независимо от константы k.

Однако, если k является очень большим в вышеупомянутой функции в качестве примера, функция, будет казаться, будет работать в почти точно n^2 до некоторой точки перехода, в которой эти n^3 семестр начнет доминировать. Поскольку константа k будет неизвестна любому профильному инструменту, будет невозможно знать как большой набор данных тестировать целевую функцию с. Если k может быть произвольно большим, Вы не можете обработать данные тестирования для определения большого о времени выполнения.

15
задан mire 17 August 2009 в 19:43
поделиться

3 ответа

Если вам нужен эффект - = 100 , просто сделайте:

CGRect frame = view.frame;
frame.size.height -= 100;
view.frame = frame;

Тогда вы можете быть уверены, что меняете именно то, что вы хотите изменить ...

Кроме этого, я не думаю, что есть способ ...

25
ответ дан 1 December 2019 в 01:11
поделиться

Не существует свойства для прямого управления высотой.

Обратите внимание, что каждый раз, когда вы вызываете view.frame, он вызывает метод, поэтому ваш код эквивалентен:

view.frame = CGRectMake([view frame].origin.x, [view frame].origin.y, [view frame].size.width, [view frame].size.height - 100);

Примите во внимание вместо этого настройте фрейм в отдельной переменной:

CGRect frame = view.frame;
frame.size.height -= 100;
view.frame = frame;
10
ответ дан 1 December 2019 в 01:11
поделиться

Используйте эту категорию UIView+position, чтобы получить удобный доступ к свойствам членов фрейма:

http://bynomial.com/blog/?p=24

3
ответ дан 1 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: