Вопрос по ios, iphone, xcode – Как создать пользовательский UIAlertView в приложении iphone

6

У меня есть приложение для iphone, и при нажатии кнопки оно должно открыть настраиваемое представление предупреждений, отображая текст и & quot; X & quot; крестик в правом верхнем углу окна, как в лайтбоксе в любом веб-приложении.

да, я хочу настроить их так, чтобы они выходили за границы и выглядели как поп-сайты на сайтах james
Вы хотите настроить кнопки uialertview? Saad
что вам нужно, не ясно из вашего вопроса. Вы хотите открыть представление нажатием кнопки с кнопкой закрытия в левом верхнем углу. тогда вам не нужно использовать alertview. Просто используйте представление с вашим дизайном и скрывайте его, когда представление загружается, и в кнопке нажмите, чтобы показать представление .. это охладится hacker

Ваш Ответ

5   ответов
2

Вот ссылка, я думаю, что это может решить вашу проблему.

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-uialertview-custom-graphics/

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

Вот пример того, как создать свой собственный класс, который действует аналогично представлению оповещения, но вы можете поместить любую фоновую / кнопочную графику, какую захотите:

http://iosdevtricks.blogspot.com/2013/04/creating-custom-alert-view-for-iphone.html

Error: User Rate Limit Exceeded
0

Create custom view in ReturnAlert.xib

enter image description here

class ReturnView: UIView, UITextFieldDelegate {


}

class ReturnAlert: UIAlertController {
   var returnView: ReturnView?

   public convenience init(id message: String?) {
      self.init(title: nil, message: "message", preferredStyle: .alert)

      guard let view = UINib(nibName: "ReturnAlert", bundle: Bundle(for: ReturnView.self)).instantiate(withOwner: ReturnView.self, options: nil)[0] as? ReturnView else{
        fatalError("Return view not found")
    }

    self.returnView = view
    view.alert = self
    let parent = self.view.subviews[0].subviews[0]

    for sv in parent.subviews {
        sv.removeFromSuperview()
    }

    view.bounds = CGRect(x: parent.bounds.origin.x, y: parent.bounds.origin.y, width: view.frame.size.width, height: view.frame.size.height)

    parent.addSubview(view)

    let xConstraint = NSLayoutConstraint(item: view, attribute: .centerX, relatedBy: .equal, toItem: parent, attribute: .centerX, multiplier: 1, constant: 0)

    let yConstraint = NSLayoutConstraint(item: view, attribute: .centerY, relatedBy: .equal, toItem: parent, attribute: .centerY, multiplier: 1, constant: 0)

    parent.addConstraint(xConstraint)
    parent.addConstraint(yConstraint)
  }
}
1

Если вы хотите реализовать Настроить вид оповещения Затем вам следует этот пример кода, который имеет очень привлекательную коллекцию просмотров предупреждений с помощью ViewController. Попробуйте этот пример кода ссылки https://github.com/eaigner/CODialog

0
- (void)willPresentAlertView:(UIAlertView *)alertView; 
- (void)didPresentAlertView:(UIAlertView *)alertView; 

в любом из приведенных выше сообщений проверьте подпредставления и их класс и измените значения по своему усмотрению. посмотрите этот пример кода для UIActionSheet. Ищите классы всех компонентов, используя журнал ns, и настраивайте свой класс желаний. Это код uiactionsheet

for (UIView* view in [actionSheet subviews])
    {
        NSLog(@"%@",[view class]);
        if ([[[view class] description] isEqualToString:@"UIAlertButton"] && [view respondsToSelector:@selector(setAlpha:)])
        {
            [view setAlpha:2.0];
            [view setOpaque:YES];
            if ([view respondsToSelector:@selector(title)])
            {
                NSString* title = [view performSelector:@selector(title)];
                if ([title isEqualToString:@"Cancel"] && [view respondsToSelector:@selector(setBackgroundImage:forState:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setTitleColor:forState:)])
                {

                    [view setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
                    [view setBackgroundImage:[UIImage imageNamed:@"btn-cancel.png"] forState:UIControlStateNormal];
                    [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y+10, view.frame.size.width,view.frame.size.height)];

                }
            }
        }
    }
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded james
Error: User Rate Limit Exceeded

Похожие вопросы