Question: I have tried the following ways but they all do not work.

1. Reinstall MyEclipse
2. Reinstall java
3. Use Eclipse
4. Update java to 1.8.0\_71
5. Use short format of directory in the JDK path

Both my java and MyEclipse are 64bit. H: is not a network driver.

[This is my screenshot](http://i.stack.imgur.com/2oXQn.png)

---

The following part is MyEclipse.ini

-startup

../Common/plugins/org.eclipse.equinox.launcher\_1.2.0.v20110502.jar

--launcher.library

../Common/plugins/org.eclipse.equinox.launcher.i18n.win32.win32.x86\_64\_4.2.0.v201201111650

-install

H:\MyE\MyEclipse 10

-vm

C:\Program Files\Java\jre1.8.0\_71\bin\javaw.exe

-configuration

H:\MyE\MyEclipse 10\configuration

-vmargs

-Xmx512m

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=64m

-Dosgi.nls.warnings=ignore

Answer: 
"*nothing is impossible*" ... Sure, but it might be insanity.
-------------------------------------------------------------

---

If you want the `UIScrollView` to remain touchable to the user, you could try something similar to what [Hemang suggests](https://stackoverflow.com/questions/34877012/cant-touch-uibutton-behind-uiscrollview/34877904#comment57494702_34877012).

I would suggest sending the a signal to the `UIButton`'s `touchUpInside` event directly through. For example, in your `UIViewController`:

```
@implementation ViewController {
    UIScrollView* scrollView;
    UITapGestureRecognizer* tapGesture;

    UIButton* button;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    button = [[UIButton alloc] initWithFrame:(CGRect){30, 30, 300, 300}];
    [button addTarget:self action:@selector(buttonPress) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];

    scrollView = [[UIScrollView alloc] initWithFrame:(CGRect){20, 20, 300, 500}];
    tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(scrollViewWasTouched)];
    [scrollView addGestureRecognizer:tapGesture];
    [self.view addSubview:scrollView];

}

-(void) buttonPress {
    NSLog(@"Button press!");
}

-(void) scrollViewWasTouched {
    if (CGRectContainsPoint(button.frame, [tapGesture locationOfTouch:0 inView:self.view])) {
        [button sendActionsForControlEvents:UIControlEventTouchUpInside];
    }
}

@end

```

I have no idea why you would **ever** want to do this though!

---

EDIT
----

I now learn that you want to do this as you want images in the scroll view to behave like buttons. I would suggest you simply replace your `UIImageView` objects with `UIButton` objects.

You can then just add the image to the `UIButton` directly:

```
[button setImage:image forState:UIControlStateNormal];

```
You can override method

`override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView?`

in superview of scrollView and Button. This method should return receiver for specific point. So in your case it should be something like that

```
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? { 
if CGRectContainsPoint(button.frame, point) {
return button
}
return super.hitTest(post, withEvent: event)
}

```