MessageTableViewCell accessoriesType =UITableViewCellAccessoryDetailDisclosureButtonを設定 し、「矢印ボタン」自体にタブを付けると、 didSelectRowAtIndexPath:で宣言されているポップ メニューが表示されないことに気付きました。「矢印ボタン」自体を除いて、セルの他の領域にタブを付けると正常に動作します。
ただし、代わりにUITableViewCellAccessoryDisclosureIndicatorセル アクセサリ タイプを使用すると、矢印自体にタブを付けても問題なく動作します。
これは正常な動作なのか、バグなのか、それとも何か間違ったことをしたのだろうか。
UITableViewCellAccessoryDetailDisclosureButtonを好むのは、私の意見では、ユーザーの注意を引きたいときの方が明確だからです。
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString* CellIdentifier = @"MessageCellIdentifier";
MessageTableViewCell* cell = (MessageTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = /*[*/[[MessageTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] /*autorelease]*/;
}
CastNearAppDelegate *appDelegate = (CastNearAppDelegate *)[[UIApplication sharedApplication] delegate];
Message* message = [appDelegate.dataModel messageWithID: indexPath.row];
if (!message.isSentByUser)
{
cell.accessoryType =/*UITableViewCellAccessoryDetailDisclosureButton; */UITableViewCellAccessoryDisclosureIndicator;
}else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
message.bubbleSize = [SpeechBubbleView sizeForText:message.text];
[cell setMessage:message];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIActionSheet *popupQueryOptions = [[UIActionSheet alloc]
initWithTitle:@"Options for Blocking and Spam Reporting"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Block Sender"
otherButtonTitles:/*@"Block Sender",*/
@"Inappropriate Content",
/*@"Tell a Friend via Facebook",
@"Tell a Friend via Twitter",*/
nil];
popupQueryOptions.actionSheetStyle = UIActionSheetStyleBlackOpaque;
[popupQueryOptions showInView:[UIApplication sharedApplication].keyWindow];
}