From [this](https://stackoverflow.com/questions/19256996/uibutton-not-showing-highlight-on-tap-in-ios7) post they said that it is kind of a bug in ios 7 and 8 - Button in `UITableViewCell` does not change to highlighted when tapped. Here I post one answer for this in Objective-C:

Create a custom `UITableView` subclass and custom `UITableViewCell` subclass.

Use this sample `UITableView`'s initWithFrame:

```
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];

    if (self)
    {
        // iterate over all the UITableView's subviews
        for (id view in self.subviews)
        {
            // looking for a UITableViewWrapperView
            if ([NSStringFromClass([view class]) isEqualToString:@"UITableViewWrapperView"])
            {
                // this test is necessary for safety and because a "UITableViewWrapperView" is NOT a UIScrollView in iOS7
                if([view isKindOfClass:[UIScrollView class]])
                {
                    // turn OFF delaysContentTouches in the hidden subview
                    UIScrollView *scroll = (UIScrollView *) view;
                    scroll.delaysContentTouches = NO;
                }
                break;
            }
        }
    }
    return self;
}

```

Use this sample `UITableViewCell`'s `initWithStyle:reuseIdentifier:`

```
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self)
    {
        // iterate over all the UITableViewCell's subviews
        for (id view in self.subviews)
        {
            // looking for a UITableViewCellScrollView
            if ([NSStringFromClass([view class]) isEqualToString:@"UITableViewCellScrollView"])
            {
                // this test is here for safety only, also there is no UITableViewCellScrollView in iOS8
                if([view isKindOfClass:[UIScrollView class]])
                {
                    // turn OFF delaysContentTouches in the hidden subview
                    UIScrollView *scroll = (UIScrollView *) view;
                    scroll.delaysContentTouches = NO;
                }
                break;
            }
        }
    }

    return self;
}

```

However I cannot write in Swift. There are some problem: 

1) I cannot do 

```
self = super.init(style: style, reuseIdentifier: reuseIdentifier) 

```

Error: Cannot assign to 'self' in a method

2) In Swift, I cannot do 

```
view.class

```

as in Objective C: 

```
[view class]

```

I have searched for hours but still cannot get what I want.

Please anyone can answer this in Swift?