带有很多按钮的UIAlertView似乎破坏了iOS 6

时间:2014-07-17 08:21:05

标签: ios objective-c ios6 uialertview uialertviewdelegate

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

problem

- (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];

}

.....

}

1 个答案:

答案 0 :(得分:0)

您应该考虑使用模态视图控制器,因为在AlertView中使用大量按钮会让人感到困惑。我没有看到为单个警报视图添加大量按钮的原因。模态VC具有您正在寻找的所有灵活性。否则,行动表也会更好。

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