我有一个带有4个按钮和标题的警报视图。它在iOS 7上工作正常,但在iOS 6上,标题与第一个按钮重叠。 我怎么解决? 提前谢谢。
更新:这是代码:
UIAlertView * dialog = [[UIAlertView alloc] init];
[dialog setDelegate:self];
dialog.alertViewStyle=UIAlertViewStyleDefault;
[dialog setTitle:@"These are your choices"];
[dialog setMessage:@""];
[dialog addButtonWithTitle:@"Button 1"];
[dialog addButtonWithTitle:@"Button 2"];
[dialog addButtonWithTitle:@"Button 3"];
[dialog addButtonWithTitle:@"Cancel"];
[dialog show];
这里有截图:
答案 0 :(得分:1)
我猜这是在iOS 6中初始化后添加按钮时的一个错误。在initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:
初始化程序中添加按钮,你应该没问题。
答案 1 :(得分:0)
您可以使用3个按钮在xib上创建自己的警报视图。
这有点困难,但它应该适用于ios6和7。
它应该是UIView的子类,我建议你禁用autolayout。
我希望它可以帮到你。
答案 2 :(得分:0)
我这样解决了:
-(void)willPresentAlertView:(UIAlertView *)alertView {
float currentVersion = 7.0;
if ([[[UIDevice currentDevice] systemVersion] floatValue] < currentVersion)
{
[alertView setFrame:CGRectMake(alertView.frame.origin.x, alertView.frame.origin.y -20, alertView.frame.size.width, alertView.frame.size.height + 45)];
for (UIView *view in alertView.subviews) {
if ([view isKindOfClass:[UIButton class]]) {
CGRect rect=view.frame;
rect.origin.y += 45;
view.frame = rect;
}
}
}
}