Я встречал нечто подобное раньше, когда кнопка реагирует только на прикосновения в части своего вида.Я обнаружил, что изображение с прозрачной областью находилось на более высоком z-уровне, что скрывало касания в местах перекрытия.Это произошло из-за того, что кнопка была добавлена как подпредставление перед добавлением затемняющего вида.
В случае листа действий, я думал, что он будет на самом высоком уровне z по сравнению с остальными.Поскольку лист действий был только инициализирован и показан, я никак не могу увидеть, что что-то закрывает кнопку.
(Для чего я только что превратил приложение в универсальное приложение, и я тестирую как на iOS 4.3, так и на 5.0. На листе действий на iPad нет кнопки отмены. Эта проблема существует при моделированиидля iPhone для iOS 4.3 и 5.0.)
Я ищу другие идеи относительно того, что вызывает проблему.
ОБНОВЛЕНИЕ Вот код для отображения листа действий
- (void) shareButtonPressed {
SHKItem *item = [SHKItem larkspreeSearchResult:searchResult];
item.image = eventImageRaw;
// Get the ShareKit action sheet
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
// Display the action sheet
[actionSheet showInView:self.view];
}
Так как это для подкласса листа действий, это, прямо из ShareKit, также может быть полезным.
+ (SHKActionSheet *)actionSheetForType:(SHKShareType)type
{
SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"Share")
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
as.item = [[[SHKItem alloc] init] autorelease];
as.item.shareType = type;
as.sharers = [NSMutableArray arrayWithCapacity:0];
NSArray *favoriteSharers = [SHK favoriteSharersForType:type];
// Add buttons for each favorite sharer
id class;
for(NSString *sharerId in favoriteSharers)
{
class = NSClassFromString(sharerId);
if ([class canShare])
{
[as addButtonWithTitle: [class sharerTitle] ];
[as.sharers addObject:sharerId];
}
}
// Add More button
[as addButtonWithTitle:SHKLocalizedString(@"More...")];
// Add Cancel button
[as addButtonWithTitle:SHKLocalizedString(@"Cancel")];
as.cancelButtonIndex = as.numberOfButtons -1;
return [as autorelease];
}
Метод showInView не был переопределен.