【问题标题】:connecting an UIActivityIndicator to a UIButton将 UIActivityIndicator 连接到 UIButton
【发布时间】:2009-06-22 05:58:34
【问题描述】:
所有这些 Xcode 的新东西 - 我有一些 UIButton 可以链接到我网站上的电影和音乐文件 - 它们工作正常,只是在加载 MoviePlayer 时有一些延迟时间,似乎什么都没有发生.
我想设置一个 UIActivityIndicator - 我找不到简单的方法。
如果是这样,每个按钮都需要一个吗?
你能帮忙吗?
谢谢卡尔
【问题讨论】:
标签:
cocoa-touch
android-activity
indicator
【解决方案1】:
如果您想将 ActivityIndicator 直接添加到您的按钮,这里有一些代码可以做到这一点:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(0,0,40,40); // increase width value if you want to add text
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
[button setImage:[UIImage imageNamed:@"location.png"] forState:UIControlStateNormal];
UIActivityIndicatorView *actIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
actIndicator.tag = 123456;
[actIndicator startAnimating];
actIndicator.frame = CGRectMake(7, 7, 26, 26);
[button addSubview:actIndicator];
[actIndicator release];
这显示了活动视图,但您可以在开始时将其隐藏或通过其标签访问指示器来切换活动指示器。
【解决方案2】:
您创建一个活动指示器并将其放在屏幕上您喜欢的位置 - 然后您告诉它在您请求媒体时启动动画,并在您收到播放开始的回调时停止动画。
您可以通过编程方式或在 IB 中执行此操作,创建一个 IBOutlet,以便您可以告诉指标开始/停止。