2015-05-06 4 views
2

Я хочу достичь следующего пользовательского представления над UIViewController. Каков наилучший способ получить его, а затем использовать addSubview. Я хочу использовать что-то лучше.
Я ранее использовать следующие, но я хочу использовать некоторые вещи теперь лучшеКак разместить пользовательский вид в IOS над другим видом

[self.view addSubview:NotConnected.view]; 

[self.view removeFromSuperview]; 

enter image description here

Я реализовал код, используя https://github.com/wimagguc/ios-custom-alertview.

Я не хотел использовать библиотеку, так как можно настроить UIViewController над другим UIViewController, как показано на картинке выше. Я использую

- (IBAction)ContinueToPayment:(id)sender { 

    PayByVC *Newpage = [[PayByVC alloc] initWithNibName:@"PayByVC" bundle:nil]; 
    Newpage.checkOutInfoDict=checkOutDict; 
    Newpage.modalPresentationStyle = UIModalPresentationOverCurrentContext; 
    Newpage.modalTransitionStyle  = UIModalTransitionStyleCrossDissolve; 
    Newpage.view.backgroundColor  = [[UIColor blackColor] colorWithAlphaComponent:.4]; 
    Newpage.delegate = self; 
    [self presentViewController:Newpage animated:YES completion:nil]; 


} 

Чтобы удалить из супер зрения я использовал

[self dismissViewControllerAnimated:YES completion:nil]; 

Как я могу поместить вид payby в центре экрана во всех видах ориентации экрана

+0

Существует множество пользовательских библиотек, доступных для пользовательских предупреждений: 1. [Всплывающее окно] (https://github.com/miscavage/Popup) 2. [DoAlerView] (https://github.com/donobono/DoAlertView) 3 . [KLCPopup] (https://github.com/jmascia/KLCPopup) 4. [MKBoxInputView] (https://www.cocoacontrols.com/controls/mkinputboxview) Надеюсь, что это поможет вам. – NightFury

ответ

1

AddSubview для UIAlertView не возможно из iOS 7.

Единственный способ создать пользовательский подкласс UIView, который может действовать как UIAlertView.

Связанный один https://github.com/wimagguc/ios-custom-alertview, похоже, хорошо работает. Поместив надлежащую проверку версии, вы можете определить, как перейти на собственный UIAlertView или CustomAlertView.

+0

Могу ли я получить полезную ссылку или код для этого –

+0

Хорошо, я попробую их проверить –

+0

Я нахожу это полезным, спасибо за вашу помощь –

1

Try CRToast Я использую его в своем проекте. Создайте класс util.

+(NSDictionary *)setupAlertWithMessage:(NSString *) message withError:(BOOL) error{ 
    NSDictionary *options; 

    if(error){ 

     options = @{ 
        kCRToastTextKey : message, 
        kCRToastNotificationTypeKey:@(CRToastPresentationTypePush), 
        kCRToastNotificationPresentationTypeKey:@(CRToastPresentationTypePush), 
        kCRToastTextAlignmentKey : @(NSTextAlignmentCenter), 
        kCRToastBackgroundColorKey : [UIColor colorWithRed:234/255.0 green:85/255.0 blue:72/255.0 alpha:1.0], 
        kCRToastAnimationInTypeKey : @(CRToastAnimationTypeSpring), 
        kCRToastAnimationOutTypeKey : @(CRToastAnimationTypeSpring), 
        kCRToastAnimationInDirectionKey : @(CRToastAnimationDirectionTop), 
        kCRToastAnimationOutDirectionKey : @(CRToastAnimationDirectionBottom) 
        }; 


    }else{ 
     options = @{ 
        kCRToastTextKey : message, 
        kCRToastNotificationTypeKey:@(CRToastPresentationTypePush), 
        kCRToastNotificationPresentationTypeKey:@(CRToastPresentationTypePush), 
        kCRToastTextAlignmentKey : @(NSTextAlignmentCenter), 
        kCRToastBackgroundColorKey :[UIColor colorWithRed:65/255.0 green:165/255.0 blue:151/255.0 alpha:1.0], 
        kCRToastAnimationInTypeKey : @(CRToastAnimationTypeSpring), 
        kCRToastAnimationOutTypeKey : @(CRToastAnimationTypeSpring), 
        kCRToastAnimationInDirectionKey : @(CRToastAnimationDirectionTop), 
        kCRToastAnimationOutDirectionKey : @(CRToastAnimationDirectionBottom) 
        }; 

    } 

    return options; 

    } 

Затем импортировать класс Util, где когда-либо вам нужно затем использовать его таким образом:

[CRToastManager showNotificationWithOptions:[MyRateUtil setupAlertWithMessage:@"Alert!" withError:YES/NO] 
            completionBlock:^{ 

            }]; 
+0

У вас есть идея, как ее реализовать, а затем с использованием вида предупреждения и библиотеки. вы можете проверить измененные вопросы –

+0

Да, теперь я хочу получить доступ к функции первого представления, как у вас есть лучший способ. –

+0

Теперь я задаю ваш вопрос. Сначала я подумал, что вам просто нужен механизм для отображения предупреждающего сообщения. Мне нужно было создать диалоговое окно, как показано на рисунке. используйте обычный контроллер просмотра и выполните модальный переход к нему. –

2

Используйте презентацию Модальные с режимом OverFullScreen. Установите фон представления ViewController прозрачным и разместите свое собственное представление в центре его.

Проще всего использовать раскадровки. Создайте контроллер просмотра с настраиваемым представлением в центре. В противном случае вам нужно позвонить view.addSubView(..), чтобы разместить свое собственное представление по центру и создать соответствующие ограничения. Чтобы представить этот контроллер вида, вы можете создать segue или по коду presentViewController(...). Не забудьте установить modalPresentationStyle на номер OverFullScreen.

Не требуется библиотека.

+0

, что я могу использовать для размещения над представлением addubview или presentview или еще –

+0

Обновлен ответ с более подробной информацией. В принципе - используйте раскадровки! Это сэкономит вам массу неприятностей. – Yariv

+0

. Я сделал так, как показано выше, и код изменен. –

Смежные вопросы