2016-07-21 11 views

Odpowiedz

7

W iOS 10, o ile mi wiadomo, pokaz więcej opcji jest nowa i nie możemy jej usunąć, ale możemy ją zmodyfikować w razie potrzeby.

Poniższy kod umożliwia automatyczne dopasowanie widgetu Dzisiaj. Po prostu zmień tabelę lub widok kolekcji lub cokolwiek użyłeś w swoim projekcie.

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); 
    } 
} 
+0

Użyłem tego jako odniesienia -> https://github.com/sighmon/NI-ipad/blob/master/New%20Internationalist%20Magazine%20Australia%20Extension/TodayViewController.m – Moxarth

+0

Możliwe jest usunięcie 'Pokaż Więcej przycisku "... zobacz poniżej. – MobileVet

2
-[NCWidgetProviding widgetActiveDisplayModeDidChange:withMaximumSize:] 

jest chyba to, co szukasz, chciałbym odwołać this

9

W viewDidLoad można ustawić największego dostępnego trybu wyświetlania.

[self.extensionContext setWidgetLargestAvailableDisplayMode:NCWidgetDisplayModeCompact]; 

Spowoduje to usunięcie przycisku Pokaż więcej/mniej, ale może nie być to, co chcesz. Maksymalny dozwolony rozmiar dla widoku kompaktowego jest dość mały.

można realizować:

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

zaktualizować preferredContentSize. Parametr maxSize będzie maksymalnym dozwolonym rozmiarem dla activeDisplayMode.

+0

Dzięki Jervine - To jest praca dla mnie, ale moja rzeczywista potrzeba jest to, że - nie chcę Pokaż więcej/mniej przycisku w trybie rozszerzonym. Czy istnieje sposób na ukrycie przycisku w trybie rozszerzonym. –

+0

Szybki test, który przeprowadziłem, ukrył przycisk przy ustawianiu trybu AvailableDisplayMode na 'NCWidgetDisplayModeCompact' – jervine10

+0

Czy to szczęście? Musi to być możliwe, ponieważ domyślnie mam aplikacje na moim iPhone'ie z rozszerzonym trybem bez wyświetlania przycisku less/more –

1

Niestety nie można go ukryć i powinny być zgodne z

widgetActiveDisplayModeDidChange:withMaximumSize: 

widżetów, które nie wykazują tej kontroli nie zostały budowania iOS10

0

wiem oryginalny post wspomina użyciem objective-c ale na nikogo zdarzeń potrzebuje szybkiej odpowiedzi, to jest tutaj

override func viewDidLoad() 
{ 
    super.viewDidLoad() 
    self.extensionContext?.widgetLargestAvailableDisplayMode = .compact 
} 

Przy ustawieniu kompaktowy, aplikacja obsługuje tylko tryb kompaktowy tzn. pokaż mniej/pokaż przyciski/funkcje znikną.

oto niektóre documentation uzyskać więcej informacji