0

当我添加很多按钮时,UIAlertView 存在问题。然后 alertView 似乎被破坏了。这只发生在 iOS 7 的早期版本上。在 iOS 7 和更高版本上似乎没问题。这是我的问题的屏幕截图。我可以修复它吗?

问题

- (void) sortTotalMnhmeia{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Ταξινόμηση" message:@"Επιλέξτε είδος ταξινόμησης" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Αξιοθέατα",@"Δραστηριότητες",@"Διαμονή",@"Χωριά",@"Προϊόντα",@"Όλες οι κατηγορίες",nil];

[alert show];

}

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {

   if (buttonIndex == 0)
{
    NSLog(@"Cancel Tapped.");
}
else if (buttonIndex == 1)
{
    [self.mapView removeAnnotations:self.annotations];

    [self.annotations removeAllObjects];

    self.annotations=[[NSMutableArray alloc] init];


    NSLog(@"yo  %d",self.annotations.count);



    for(int i=0; i<self.allGroups.count; i++){

        Group *assistantGroup=assistantGroup=[self.allGroups objectAtIndex:i];

        if ([assistantGroup.secondLevel intValue]==1) {



            if ([assistantGroup.thirdLevel intValue]==1) {
                self.chooseMarker=@"Museum";
            }
            else if ([assistantGroup.thirdLevel intValue]==2) {
                self.chooseMarker=@"Art";
            }
            else if ([assistantGroup.thirdLevel intValue]==3) {
                self.chooseMarker=@"Religious";
            }
            else if ([assistantGroup.thirdLevel intValue]==4) {
                self.chooseMarker=@"Monument";
            }
            else if ([assistantGroup.thirdLevel intValue]==5) {
                self.chooseMarker=@"Natural";
            }
            else if ([assistantGroup.thirdLevel intValue]==6) {
                self.chooseMarker=@"Beach";
            }

            NSLog(@"************ %@ %@ %@",assistantGroup.title,assistantGroup.latitude,assistantGroup.longitude);

            Annotation *ann = [[Annotation alloc] initWithLong:[assistantGroup.longitude doubleValue] Lat:[assistantGroup.latitude doubleValue] iconNumber:0];
            ann.title = assistantGroup.title;
            ann.subtitle=@"";
            ann.type=self.chooseMarker;

            [self.annotations addObject:ann];

        }





        //ann.type=assistantGroup.kind;

    }



    [self.mapView addAnnotations:self.annotations];

}

.....

}
4

1 回答 1

0

您应该考虑使用模态视图控制器,因为在 AlertView 中使用大量按钮可能会造成混淆。我看不出向单个警报视图添加大量按钮的原因。模态 VC 具有您正在寻找的所有灵活性。否则,行动表也将是可取的。

但要回答这个问题:最后添加一个“更多”按钮,它会生成第二个 AlertView,其中的按钮不适合第一个警报视图。警报 VC 不会像在 7.0 以上的 iOS 版本上那样重新调整规模。

于 2014-07-17T08:31:03.027 回答