ios objective-c widget today-extension

Cómo ocultar el botón Showmore del widget de hoy IOS10



objective-c today-extension (4)

Estoy construyendo un widget de iOS Today, y mientras probaba para iOS 10 noté que un botón de mostrar más en la parte superior derecha del encabezado del widget. ¿Cómo puedo eliminar este botón showmore / showless? Estoy usando Objective C.

¡Gracias por adelantado!


-[NCWidgetProviding widgetActiveDisplayModeDidChange:withMaximumSize:]

Es probable que sea lo que estás buscando, me gustaría hacer referencia a esto


En viewDidLoad puede establecer el modo de visualización más grande disponible.

[self.extensionContext setWidgetLargestAvailableDisplayMode:NCWidgetDisplayModeCompact];

Esto eliminará el botón Mostrar más / Menos, pero puede no ser lo que desea. El tamaño máximo permitido para la vista compacta es bastante pequeño.

Usted puede implementar:

-(void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize

para actualizar su Preferido Contenido preferredContentSize . El parámetro maxSize será el tamaño máximo permitido para activeDisplayMode .


Lamentablemente no se puede ocultar y debe ajustarse a la

widgetActiveDisplayModeDidChange:withMaximumSize:

widgets que no muestran este control no fueron compilados para iOS10


En ios 10, mostrar más opciones es nuevo y no podemos eliminarlo como sé, pero podemos modificarlo según nuestro uso. estos códigos le darán la capacidad de dimensionar automáticamente el widget de hoy. Pruébalo . cambie la vista de tabla o colección o lo que sea que haya utilizado en su proyecto. avísame si muestra algunos errores.

static CGFloat padding = 25.0; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. // This will remove extra separators from tableview self.articleTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; // Add the iOS 10 Show More ability [self.extensionContext setWidgetLargestAvailableDisplayMode:NCWidgetDisplayModeExpanded]; } - (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize { if (activeDisplayMode == NCWidgetDisplayModeCompact){ // Changed to compact mode self.preferredContentSize = maxSize; } else{ // Changed to expanded mode self.preferredContentSize = CGSizeMake(self.articleTableView.contentSize.width, self.articleTableView.contentSize.height + padding); } }