繁体   English   中英

iPhone上的大活动指示器

[英]Big activity indicator on iPhone

有谁知道如何用旋转活动指示器显示圆角平方? 它在许多应用程序中使用。 如果您不知道我在说什么,当您在Mac上更改音量但背景较暗时,它看起来像指示器。 我不确定它是内置于iOS还是有人制作它。

就像这篇文章中的那个但不是全屏只是活动指示器如何在iPhone上创建全屏模态状态显示?

这是我想要显示那种指标时使用的内容。

UIView *loading = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 120, 120)]; 

loading.layer.cornerRadius = 15;
loading.opaque = NO;
loading.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.6f];

UILabel *loadLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 25, 81, 22)];

loadLabel.text = @"Loading";
loadLabel.font = [UIFont boldSystemFontOfSize:18.0f];
loadLabel.textAlignment = UITextAlignmentCenter;
loadLabel.textColor = [UIColor colorWithWhite:1.0f alpha:1.0f];
loadLabel.backgroundColor = [UIColor clearColor];

[loading addSubview:loadLabel];
[loadLabel release];

UIActivityIndicatorView *spinning = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
spinning.frame = CGRectMake(42, 54, 37, 37);
[spinning startAnimating];

[loading addSubview:spinning];
[spinning release];

loading.frame = CGRectMake(100, 200, 120, 120);

然后,您只需将“加载”视图添加到您选择的视图中即可。

希望这是你需要的。

您的屏幕截图可能是David Sinclair的DSActivityView模块的用法。 具体来说,它的DSBezelActivityView组件。 或者如果没有,它是一个密切的副本。

http://www.dejal.com/developer/dsactivityview

我一直使用DSActivityView。 很棒的图书馆 在提取数据的同时抛弃这一点,让用户和客户满意。

一个选项: MBProgressHUD

我不认为截图是我的DSBezelActivityView ; 指标看起来有点不同。 但它非常相似。

注意,DSActivityView及其子类不使用任何图像或笔尖; 他们是纯粹的代码。

要回答原始问题,可以轻松修改DSBezelActivityView以省略全屏灰色背景。 您可以通过子类化和重写-setupBackground方法来实现:

- (void)setupBackground;
{
    [super setupBackground];

    self.backgroundColor = [UIColor clearColor];
}

希望这可以帮助!

尝试这个简单的方法,它对我有用....

UIActivityIndicatorView *activityIndicator= [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
activityIndicator.layer.cornerRadius = 05;
activityIndicator.opaque = NO;
activityIndicator.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.6f];
activityIndicator.center = self.view.center;
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
[activityIndicator setColor:[UIColor colorWithRed:0.6 green:0.8 blue:1.0 alpha:1.0]];
[self.view addSubview: activityIndicator];

您实际上正在考虑使用两个UIView子类和一个自定义的.png图像来获得您想要的外观。 灰色半透明框将是一个UIImageView对象,为了获得您正在寻找的效果,您需要一个带圆角的灰色正方形的.png文件,它不需要是最终尺寸,只要至少有角落之间的直边的一个像素,它将工作正常。 然后,您将使用UIImage stretchableImageWithLeftCapWidth:topCapHeight:方法将其加载为UIImage,这样您可以指定图像的顶部和左侧部分必须保持不变,并且每个方向上的1像素切片将被拉伸要填写你使用图像的UIImage视图.http://www.bit-101.com/blog/? p = 2275有一个很好的例子说明它的工作原理。 因此,创建一个UIImage,然后使用此图像创建一个UIImageView,将其opaque属性设置为NO,将alpha属性设置为看起来不错的东西。 添加此当前视图的子视图。 现在您只需要添加旋转进度指示器,这就更容易了,只需创建一个新的UIActivityIndi​​catorView并将其添加为您已经创建的UIImageView的子视图。 相同的基本方法用于在iOS应用程序中创建几乎任何可调整大小的元素。 在Apple的UICatalog示例代码中有一些将它们用于按钮的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM