Buduję widżet Dzisiaj na iOS, a podczas testowania systemu iOS 10 widzę przycisk "Pokaż więcej"/"Pokaż mniej" w prawym górnym rogu nagłówka widżetu . Jak mogę usunąć ten przycisk? Używam Objective-C.Ukryj przycisk "Pokaż więcej" z widżetu Dzisiaj w iOS10
Odpowiedz
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);
}
}
-[NCWidgetProviding widgetActiveDisplayModeDidChange:withMaximumSize:]
jest chyba to, co szukasz, chciałbym odwołać this
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
.
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. –
Szybki test, który przeprowadziłem, ukrył przycisk przy ustawianiu trybu AvailableDisplayMode na 'NCWidgetDisplayModeCompact' – jervine10
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 –
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
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
Użyłem tego jako odniesienia -> https://github.com/sighmon/NI-ipad/blob/master/New%20Internationalist%20Magazine%20Australia%20Extension/TodayViewController.m – Moxarth
Możliwe jest usunięcie 'Pokaż Więcej przycisku "... zobacz poniżej. – MobileVet