Как да добавите изглед върху UIPopoverController

Имам приложение за iPad с таблица „чекмедже“, показана в изскачащ прозорец. Потребителят може да докосне и задържи върху елемент в чекмеджето, за да плъзне този елемент от него и в основния ми изглед. Тази част работи добре; за съжаление изгледът, който се плъзга, се появява под изскачащия прозорец и е твърде малък, за да бъде видим, докато не бъде изтеглен отдолу. Ако добавя изгледа като подизглед на контролера за изглед в изскачащия прозорец, той се изрязва от рамката на изскачащия прозорец и тъй като нямам достъп до изгледа на UIPopoverController, не мога да деактивирам masksToBounds на неговия слой — и това вероятно няма да е страхотна идея така или иначе. Подозирам, че бих могъл да използвам допълнителен UIWindow с висока стойност windowLevel, за да принудя плъзгащия се изглед да се появи върху изскачащия прозорец, но това изглежда пресилено. Има ли по-добро решение?


person Noah Witherspoon    schedule 12.04.2010    source източник


Отговори (2)


Схванах го. UIWindow работи добре. Код:

// when drag starts
draggingView = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,100,100)];
draggingView.windowLevel = UIWindowLevelAlert;
draggingView.center = [gestureRecognizer locationInView:self.view.window];
[draggingView makeKeyAndVisible];

// when drag ends
[draggingView release];
draggingView = nil;
person Noah Witherspoon    schedule 12.04.2010

Добавяне на версията Swift:

    let windows: [UIWindow] = UIApplication.shared.windows
    let firstWindow: UIWindow = windows[0]

    firstWindow.addSubview(loadingView)
    firstWindow.bringSubview(toFront: loadingView)

РЕДАКТИРАНЕ до администратора: благодаря за прегледа – изтрих другия ми отговор в дубликат Как за показване на UIView ВЪРХУ UIPopoverController

person gabuchan    schedule 27.01.2017