我有一个关于在屏幕上显示警报的问题。事情是:我有一个20至30个不同的屏幕(笔尖)的应用程序,并在每个笔尖我做一些检查,看看用户是否已经插入文本文本。并且一些警报消息与其他消息相同。就像在3个笔尖中,有一个供用户输入他的年龄的文本字段,以及如果他留下空白的警报。 我想要做的是创建一个方法来显示这些警报,所以我不需要在不同的笔尖上有相同的警报。而不是调用每个笔尖的警报视图,我会调用该方法并传递什么样的alertview弹出。
实施此方法的最佳方法是什么? TIA。
TIA。如何创建一个返回UIAlertViews的方法?
3
A
回答
1
你可以只的alloc初始化一个新的UIAlertView中像往常一样,但你要记住,要通过委托在
这里是我的方法:
- (UIAlertView *)getUIAlertViewWithDelegate:(id)delegate title:(NSString *)title cancelTitle:(NSString *)cancel {
return [[[UIAlertView alloc] initWithTitle:title delegate:delegate cancelButtonTitle:cancel otherButtonTitles:nil] autorelease];
}
0
好吧,我设法做到这一点。感谢所有帮助。这是我的最终解决方案
我创建了一个用于各种笔尖的一些方法的common.m类。
COMMON.H
@interface MetodosGerais : NSObject <UIAlertViewDelegate>{...}
- (void)getUIAlertViewWithDelegate:(id)delegate title:(NSString *)title cancelTitle:(NSString *)cancel;
Common.m
- (void)getUIAlertViewWithDelegate:(id)delegate title:(NSString *)title cancelTitle:(NSString *)cancel {
if (title == @"Enter your Height"){
[[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Atention!", @"Atenção!")
message:@"You Should enter Your Height."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease] show];
}
else if (title == @"Enter your Age"){
[[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Atention!", @"Atenção!")
message:@"You Should enter your Age."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil] autorelease] show];
}
...
,并在我的课,我想用它我也
Common *myAlert = (Common *)[[UIApplication sharedApplication] delegate];
if ([idade.text length] == 0) {
[myAlert getUIAlertViewWithDelegate:self title:@"Enter Your Age" cancelTitle:@"OK"];
}...
+0
好吧,这仍然无法正常工作。该程序stil搜索我的appDelegate而不是common.m的方法。 我该怎么做才能让它在我的common.m上搜索? – 2010-07-29 18:13:18
相关问题
- 1. 如何创建一个返回ArrayList的方法
- 2. CodeDom如何创建一个void返回类型的方法?
- 3. 如何创建新的BigInteger变量并创建一个返回BigInteger的方法?
- 4. 从一个方法创建并返回一个数组
- 5. 创建一个Java方法,将返回一个ArrayList
- 6. 创建一个返回多个值的方法
- 7. 如何从一个方法返回一个征::矩阵返回
- 8. 创建返回一个DNA链的WC补的方法
- 9. 创建一个递归方法的返回类型
- 10. 创建一个返回数字范围的方法?
- 11. 创建一个使用WebBrowser并返回HTML的方法?
- 12. COM - 如何创建一个返回指向接口的指针的方法?
- 13. 如何从一个方法返回HashSet?
- 14. 如何创建一个使用并返回泛型类型的方法?
- 15. 如何创建一个返回多变量数据管道“网格”的方法?
- 16. MVC 4 C#如何创建一个返回列表的方法<object>
- 17. 创建两个方法,返回布尔方法?
- 18. IP地址簿方法返回或创建一个ABRecord
- 19. 创建一个工厂方法返回通用
- 20. 语法问题创建一个方法,返回一个对象(java)
- 21. 从方法创建并返回对象
- 22. 在VC++ PPL中,如何创建一个同步返回的任务返回方法?
- 23. 如何创建2个创建方法?
- 24. 如何从一个方法返回一个DataTable和一个Integer?
- 25. 如何创建一个SQL Server函数来返回一个int?
- 26. 当创建一个JavascriptConverter时,如何返回一个数组?
- 27. 如何创建一个XSL:函数返回一个布尔
- 28. 如何从父方法返回一个子方法?
- 29. 创建一个返回xml的网页
- 30. 如何在一个方法内创建一个方法来创建并点击Selenium中的一个web元素
关闭。你不能返回,因为你已经定义了返回void的方法。将void更改为UIAlertView *,这将起作用。或者,不要返回任何东西,并在autorelease之后添加“show”作为链上的最终方法。 – 2010-07-28 14:39:58
对不起,这是我的错误。在第一次,我想我应该在alloc初始化后立即显示它,但后来我改变了:) – vodkhang 2010-07-28 14:49:59
好的,原谅我的noobness。所以我有我的班级这样 @interface MetodosGerais:NSObject { ...} 与该方法 - (UIAlertView *)getUIAlertViewWithDelegate:(id)委托标题:(NSString *)标题cancelTitle:(NSString *)取消; 和我在视图中的控制器我打电话 MetodosGerais * alerta; [alerta getUIAlertViewWithDelegate:???标题:@“三头肌”cancelTitle:@“OK”]; 我是OOB和Objective-C的新手,我对理解代表有点麻烦。在这种情况下代表什么? TIA – 2010-07-28 16:49:11