Подгонка по ширине в iOS 8 Today Extensions

Когда я делаю какое-либо расширение iOS 8 Today, слева остается пустое пространство примерно в 48 пикселей, даже если в Interface Builder я помещаю метку слева на x=0.


на xcodeна симуляторе


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


другие приложения


Как я могу добиться чего-то подобного?

Спасибо!


ОБНОВЛЕНИЕ: РЕШЕНО

Я помещаю здесь пример кода, потому что думаю, что он будет кому-то полезен. Как предложил @matteo-lallone, правильный способ сделать это:

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMa‌​rginInsets{
return UIEdgeInsetsZero;
}

person Antonio Giarrusso    schedule 23.09.2014    source источник


Ответы (2)


Прямо из документов:

Виджет «Сегодня», созданный с использованием шаблона Xcode Today, включает ограничения Auto Layout для стандартных вставок полей. Чтобы получить значения вставки для ваших вычислений, реализуйте метод widgetMarginInsetsForProposedMarginInsets:.

Источник: Руководство по программированию расширений приложений — сегодня

person Matteo Lallone    schedule 23.09.2014
comment
Спасибо, как вы предложили, я добавил этот код, и проблема была решена! -(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets{return UIEdgeInsetsZero;} - person Antonio Giarrusso; 23.09.2014
comment
Ваша ссылка мертва. Возьмите этот NotificationCenter.html - person Felix; 23.09.2014
comment
Спасибо @Felix, все было в порядке, когда я опубликовал это! Обновлено. - person Matteo Lallone; 24.09.2014

Могу дополнить версию swift

func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets {
    return UIEdgeInsetsZero
}

для ОС

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets {
    return UIEdgeInsetsZero
}

надеюсь, что это может помочь кому-то.

person JZAU    schedule 10.03.2015