gpt4 book ai didi

iOS UIView 子类 - 从类方法中显示/删除(如 UIAlertView)

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:18:48 25 4
gpt4 key购买 nike

我想要一个可以在多个 View Controller 上显示的自定义 View 。我想像 UIAlertView 一样设置它,我在其中初始化它,然后调用 [myView show] 将它添加到当前 View Controller 。想知道如何将自定义 uiview 直接从它的类添加到当前 View Controller 上。该 View 也会在设定的时间后自行消失(基本上,自定义 View 是一种图像动画,在淡出之前会短暂显示一些统计数据)。

从类方法 [myView show] 调用将取代必须初始化 View ,然后调用 [self.view addSubview:myView]。

直接从类中显示/删除自定义 View 的最佳方法是什么?

最佳答案

我对 jsd 采取了不同的策略,我将它添加到 View 中。也许 window 更好。但是这段代码在我尝试时似乎做了我想要的:

@implementation EWView

+ (void)show:(UIView *)superView {
EWView *instantView = [[EWView alloc]initWithFrame:CGRectMake(20, 20, 50, 50)];
instantView.backgroundColor = [UIColor greenColor];
[superView addSubview:instantView];
int64_t delayInSeconds = 4.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[instantView removeFromSuperview];
});
}

@end

我用 UIViewController 调用它

[EWView show:self.view];

只有当 block 没有完成执行时, View 才会继续存在。当 block 完成时,EWView 将被释放。

关于iOS UIView 子类 - 从类方法中显示/删除(如 UIAlertView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13710692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com