【问题标题】:UIActivityIndicatorView inside UIButtonBarItem not working properlyUIButtonBarItem 内的 UIActivityIndi​​catorView 无法正常工作
【发布时间】:2010-01-10 18:10:33
【问题描述】:

我正在尝试使用以下代码让 UIActivityIndi​​catorView 在 UIButtonBarItem 内工作:

- (void)showActivityIndicator
{
    UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
    [activityIndicator startAnimating];

    UIBarButtonItem *activityBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
    [activityIndicator release];

    self.navigationItem.rightBarButtonItem = activityBarButtonItem;
    [activityBarButtonItem release];
}

它可以显示活动指示器,但它不在按钮栏内。

有人知道我在这里做错了什么吗?

【问题讨论】:

    标签: iphone-sdk-3.1 uiactivityindicatorview uibuttonbaritem


    【解决方案1】:

    当我希望它出现在工具栏的左侧时,我就是这样做的:

    activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0, 0.0, 25.0, 25.0)];
    activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
    activityIndicator.hidesWhenStopped = YES;
    
    UIBarButtonItem *btnActivity = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
    NSMutableArray *tItems = [self.toolbar.items mutableCopy];
    [tItems insertObject:btnActivity atIndex:0];
    self.toolbar.items = tItems;
    [tItems release];
    

    然后,在我的代码中,当我想显示活动指示器时,我只是以正常方式使用它:

    [activityIndicator startAnimating];
    

    而且,当我不想再看到它时:

    [activityIndicator stopAnimating];
    

    【讨论】:

      【解决方案2】:

      但它不在按钮栏内

      它在哪里?

      也许您设置的框架不正确?您是否尝试过CGRectZero 或随机的东西(例如CGRectMake(40,60,20,20))?对指标的位置有影响吗?

      您是否尝试过设置项目的width 属性?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多