Включайте два исходных данные в тот же элемент LI в Formtastic

Используя formtastic, у меня есть поле количества и поле единицы, которое просит количество объекта и единицы, в которой это измеряется.

Моя проблема, то, что я хотел бы, чтобы поле единицы отобразило вдоль стороны поле количества. Однако, потому что formtastic pust каждый вход в своем собственном элементе LI, я не могу заставить их появляться друг рядом с другом.

Какие-либо идеи?

5
задан WedTM 1 February 2010 в 18:17
поделиться

1 ответ

Этот ответ старый и, очевидно, не работает на iOS 7 и выше.

Я столкнулся с той же проблемой, и я также хотел, чтобы изменения были анимированы, поэтому я сделал подкласс UIView для моего представления заголовка и добавил следующие методы:

- (void)adjustTableHeaderHeight:(NSUInteger)newHeight{
    NSUInteger oldHeight = self.frame.size.height;
    NSInteger originChange = oldHeight - newHeight;

    [UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:1.0f];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];

    self.frame = CGRectMake(self.frame.origin.x, 
                        self.frame.origin.y, 
                        self.frame.size.width, 
                        newHeight);

    for (UIView *view in [(UITableView *)self.superview subviews]) {
        if ([view isKindOfClass:[self class]]) {
            continue;
        }
        view.frame = CGRectMake(view.frame.origin.x, 
                            view.frame.origin.y - originChange, 
                            view.frame.size.width, 
                            view.frame.size.height);
    }

    [UIView commitAnimations];
}

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context{
    [(UITableView *)self.superview setTableHeaderView:self];
}

Это по существу анимирует все подвиды UITableView, которые не являются классом типа вызывающего класса. В конце анимации он вызывает setTaureHeireView в супервизоре (UITableView) - без этого содержимое UITableView будет возвращаться назад при следующей прокрутке пользователя. Единственное ограничение, которое я нашел на этот момент, это если пользователь пытается прокрутить UITableView во время анимации, прокрутка будет анимироваться, как если бы вид заголовка не был изменен (не очень важно, если анимация быстрая).

-121--737929-

Наши Semantic Designs CloneDR - это инструмент, который обнаруживает блоки кода для копирования-вставки-редактирования для многих языков: C, C++, Java, C++, COBOL, ECMAScript, PHP, VB6, VB.net,...

Он использует синтаксические анализаторы с точностью до языка для построения абстрактных синтаксических деревьев, соответствующих точным структурам программ, которые затем сравниваются для подобия. Это означает, что он не путается ни в одном пути с помощью пробела, форматирования, комментариев или даже другого «написания» литералов (например, 3,14159 совпадает с 0,00314150E3).

Создается отчет, который показывает точно , как блоки кода похожи и точно различаются. По ссылке можно просмотреть примеры отчетов.

-121--3653723-

Используйте HTML-оболочку для полей количества и единиц измерения:

<%= form.input :quantity,   :wrapper_html => { :class => 'fl' } %>
<%= form.input :unit,       :wrapper_html => { :class => 'fl' } %>

И в css (вероятно, formtastic-changes.css) свойство css float для плавания li. Я добавил немного правого края, чтобы дать единице этикетки немного места, чтобы дышать:

form.formtastic fieldset ol li.fl {float: left; margin-right: 2em;}

Возможно, вам придется иметь конкретные классы или идентификаторы для wrapper_html и fiddle с css, чтобы получить ваш макет и интервал работать так, как вы хотите.

9
ответ дан 14 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

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