#define kCustomAlert @"UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert Back" message:msg delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil];[alert show];"
- 如何調用視圖控制器類此警報?
#define kCustomAlert @"UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert Back" message:msg delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil];[alert show];"
我不知道如何實現這一目標還是可能的,即使或沒有,但這樣做的另一種方法是在你的AppDelegate.m使用下面的方法,並宣佈在AppDelegate.h文件的方法,然後你可以在任何類
-(void)showAlertWithTitle:(NSString *)title message:(NSString *)message
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
你需要做一個宏功能無法定義它像這樣創建的AppDelegate實例調用它。您的語法錯誤。 做,在這種方式:
#define ShowAlert() [[[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show]
,並調用它像:
ShowAlert();
您也可以通過參數: -
#define ShowAlert(myTitle, myMessage) [[[UIAlertView alloc] initWithTitle:myTitle message:myMessage delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show]
,並調用它像:
ShowAlert(@"YourTitle", @"YourMessage");
注意:我並不是說這是很好的使用,只是告訴方式這樣做。
聲明此宏在您的PCH文件:
#define kCustomAlert() [[[UIAlertView alloc] initWithTitle:@"Alert Title" message:@"Alert Message" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show]
宏調用: kCustomAlert();
警報宏使用參數:
#define kCustomAlertWithParam(title,msg) [[[UIAlertView alloc] initWithTitle:title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show]
kCustomAlertWithParam(@"This is Title",@"This is message");
警報宏與參數和目標(使用:UIAlertView中委託方法)
Please set UIAlertViewDelegate for your Controller.
#define kCustomAlertWithParamAndTarget(title,msg,target) [[[UIAlertView alloc] initWithTitle:title message:msg delegate:target cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show]
kCustomAlertWithParamAndTarget(@"This is Title",@"This is message",self);
這感覺不對。如果你想要一個自定義的UIAlertView方法,那麼我會在UIAlertView上創建一個類別,它有一個方法可以爲你做到這一點。 – Fogmeister
這是不正確的方式,你如何設置警報代表,並且這種方法不會幫助你反正 –
@ LithuT.V - 'delegate'方法將被調用:)如果你設置它。如果你願意,我可以解釋你。 – TheTiger