在UIActionSheet中添加UIActivityIndicatorView

4

我正在尝试以以下方式向UIActionsSheet添加UIActivityIndicatorView

UIActionSheet *actionSheet = [[UIActionSheet alloc]
                                  initWithTitle:nil
                                  delegate:sharedInstance
                                  cancelButtonTitle:nil
                                  destructiveButtonTitle:nil
                                  otherButtonTitles:nil];

for(NSMutableDictionary *dict in moreStructure)
   {
       NSString *value = [dict valueForKey:TITLE_PARAMETER];
       [actionSheet addButtonWithTitle:value];
   }
    [actionSheet addButtonWithTitle:@"Cancel"];
    actionSheet.cancelButtonIndex = [moreStructure count];
    [actionSheet showInView:((SectionViewController *)sharedInstance.currentViewController).view];
    UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    activityView.frame = CGRectMake(100, 500, 15, 15);
    [activityView startAnimating];
    [actionSheet addSubview:activityView];

UIActionSheet 出现时,我并没有在上面看到 UIActivityIndicatorView。请帮助我。

2
你到底为什么要这样做? - Mick MacCallum
哈哈,没错。我很好奇,通常人们会将它添加到警报视图或其他东西中。 - meda
2个回答

2
我尝试了这个方法,它有效。请检查activityView的frame,因为它的y值是500。
UIActionSheet *actionSheet = [[UIActionSheet alloc]
                                  initWithTitle:nil
                                  delegate:nil
                                  cancelButtonTitle:@"Test"
                                  destructiveButtonTitle:@"Test"
                                  otherButtonTitles:nil];

    [actionSheet showInView:self.view];

    UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    activityView.frame = CGRectMake(100, 5, 15, 15);
    [activityView startAnimating];
    [actionSheet addSubview:activityView];

    activityView.backgroundColor = [UIColor redColor];
    actionSheet.backgroundColor = [UIColor greenColor];

你说得对,谢谢。我没有想到UIActionSheet的框架是从第一个按钮开始的。 - Kisel Alexander

1
activityView.frame = CGRectMake(100, 500, 15, 15);

// 这样上面的内容必须更改

activityView.frame = CGRectMake(10, 50, 300, 400);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接