当我添加许多按钮时,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];
}
.....
}
答案 0 :(得分:0)
您应该考虑使用模态视图控制器,因为在AlertView中使用大量按钮会让人感到困惑。我没有看到为单个警报视图添加大量按钮的原因。模态VC具有您正在寻找的所有灵活性。否则,行动表也会更好。
但要回答这个问题:最后添加一个“更多”按钮会产生第二个AlertView,其中的按钮不适合第一个警报视图。警报VC不会像在7.0以上的iOS版本上那样重新调整。