开发者

Cancel button click highlight after showing UIActionView on iphone

开发者 https://www.devze.com 2023-02-02 18:26 出处:网络
I have a view that has a button which brings up a UIActionSheet pop up on click. If the user clicks cancel, the origin开发者_StackOverflowal button that brought up the action sheet is still highlighte

I have a view that has a button which brings up a UIActionSheet pop up on click. If the user clicks cancel, the origin开发者_StackOverflowal button that brought up the action sheet is still highlighted as if it is being clicked. How do I reset the state after user cancels the action?


Use one of the protocol methods to change the state of the button that was clicked:

@protocol UIActionSheetDelegate <NSObject>
@optional

// Called when a button is clicked. The view will be automatically dismissed after this call returns
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;

// Called when we cancel a view (eg. the user clicks the Home button). This is not called when the user clicks the cancel button.
// If not defined in the delegate, we simulate a click in the cancel button
- (void)actionSheetCancel:(UIActionSheet *)actionSheet;

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet;  // before animation and showing view
- (void)didPresentActionSheet:(UIActionSheet *)actionSheet;  // after animation

- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex; // before animation and hiding view
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex;  // after animation

@end


Sorry about my false assumption that you were using UIButton. Here should be what you need:

- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //your implementation here
    ....

    //Then deselect the row so it quits the highlighted state
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号