I'm working on an old Objective-C project and I'm trying to adapt iOS 26 and liquid glass to current UI. I'm facing an issue that the three dot buttons won't automatically move inside navigation item bar/group after resizing window, instead it displays on top of the navigation left item.
App runs entirely on iPad.
What I tried:
- Added Application Scene Manifest to Info.plist
- Added SceneDelegate and initialized window by windowScene but most old code are still inside AppDelegate
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
let appDelegate = UIApplication.shared.delegate as! TDRAppDelegate
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let scene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: scene)
window?.isHidden = false
appDelegate.window = window
appDelegate.initWithWindow()
}
}
- (void)initWithWindow {
...
[self initViewControllers];
NSArray *tabArray = [self getTabArray];
self.mainTabVC = [[MainTabBarViewController alloc] init:tabArray];
self.window.rootViewController = self.mainTabVC;
[self.window setHidden:false];
...
}
- Added these 2 delegate functions to AppDelegate
What I'm trying to achieve:
Today when I try to resize the window, I find out that it can't be resized freely like other apps (reduce width, height) and I can only make it smaller but with the same ratio. Turn out it is the UIRequiresFullScreen key (second one from my Info.plist) that keeps the window to be fully displayed or at least kept the default ratio. Removing or changing it to NO/false solves the issue.