您应该创建自定义警报视图。这是我自定义的 AlertView 代码,您可以按照它来创建自己需要的 alertView。也许它会帮助你。
#import <UIKit/UIKit.h>
#import "Utility.h"
@interface AlertViewController : UIViewController <UIAlertViewDelegate>
{
UITextView *_sharingTextView;
}
- (void) showAlertViewWithTextView;
@end
然后在 .m 文件中
#import "AlertViewController.h"
@implementation AlertViewController
#define AlertViewIphoneInitFrame CGRectMake(0, 0, 300, 100)
#define AlertViewIpadInitFrame CGRectMake(200, 50, 600, 200)
#define TextViewIphoneFrame CGRectMake(20, 50, 260, 80)
//#define TextViewIpadFrame CGRectMake(40, 100, 520, 160)
#define AlertViewIphonePresentFrame CGRectMake(10, 100, 300, 200)
#define AlertViewIpadPresentFrame CGRectMake(200, 200, 600, 400)
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - Custom AlertView
//Custom AlertView
- (void) showAlertViewWithTextView
{
UIAlertView *alert;
if ([[Utility getCurrentDevice] isEqualToString:@"iPad"])
{
alert = [[UIAlertView alloc] initWithFrame:AlertViewIpadInitFrame];
_sharingTextView = [[UITextView alloc] initWithFrame:TextViewIphoneFrame];
}
else
{
alert = [[UIAlertView alloc] initWithFrame:AlertViewIphoneInitFrame];
_sharingTextView = [[UITextView alloc] initWithFrame:TextViewIphoneFrame];
}
alert.title = @"History Application";
alert.message = nil;
alert.delegate = self;
[alert addButtonWithTitle:@"Return"];
_sharingTextView.text = @"To share you events through tweets or facebook sharing you have to login, You can do so here or when trying to tweet or facebook share. You can also logout here";
[_sharingTextView setFont:[UIFont fontWithName:@"Helvetica" size:18.0]];
[_sharingTextView setEditable:NO];
[alert addSubview:_sharingTextView];
[alert show];
[_sharingTextView release];
[alert release];
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
}
// to set the alertView frame size.
- (void)willPresentAlertView:(UIAlertView *)alertView
{
if ([[Utility getCurrentDevice] isEqualToString:@"iPad"])
{
[alertView setFrame:AlertViewIpadPresentFrame];
}
else
{
[alertView setFrame:AlertViewIphonePresentFrame];
}
[alertView setFrame:AlertViewIphonePresentFrame];
for ( UIView *views in [alertView subviews])
{
NSLog(@"%@",views);
if (views.tag == 1)
{
[views setFrame:CGRectMake(views.frame.origin.x+10, views.frame.origin.y+80, views.frame.size.width, views.frame.size.height)];
}
}
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (void)dealloc {
}
@end