Jedyne rozwiązanie, jakie mogę sobie wyobrazić, to odrzucenie okna popover i automatyczne zaprezentowanie go w nowym rozmiarze. Mam też problem z systemem iOS 8, w którym rozmiar zawartości nie zmniejsza się. Szerokość kurczy się, ale wysokość może tylko dla mnie wzrosnąć.
Wystarczy popatrzeć na
https://developer.apple.com/library/ios/documentation/uikit/reference/UIPopoverControllerDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIPopoverControllerDelegate/popoverController:willRepositionPopoverToRect:inView:
To może pomóc zmienić położenie rect z protokołem delegata
Rozwiązanie:
Ok, oto moje rozwiązanie. Z kontrolera widoku, w którym prezentujesz kontroler popover, możesz skonfigurować delegata o nazwie "resetContentSize: (CGSize) size". na przykład w pliku nagłówka Twojego przedstawiając widok kontrolera:
@protocol PopoverDelegate <NSObject>
- (void)resetContentSize:(CGSize)size
@end
w pliku wdrażania którym przedstawi kontroler popover można ustawić delegata
self.popoverController.delegate = self;
Od kontrolera popover, można dodać PopoverDelegate w plik nagłówka
@property (nonatomic, weak) id<PopoverDelegate> popoverDelegate;
i wywołać metodę delegata w pliku wdrażania:
[popoverDelegate resetContentSize:CGSizeMake(320.0f,205.0f)];