0

我正在开发我的应用程序以使其与 iphone 5 兼容。在以下代码中,donebutton 适用于 iphone 4,但对于 iphone5,它是不可触摸的!我不知道为什么?

 float screenSizeHeight=[UIScreen mainScreen].bounds.size.height;


if(screenSizeHeight==568)
{
    UIImageView *my_image_view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plain_Background2.png"]];
    [my_image_view setFrame:CGRectMake(0,20,320,568)];
    [self.view addSubview:my_image_view];
    [self.view sendSubviewToBack:my_image_view];

    imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
    [doneButtonOutlet setFrame:CGRectMake(124,470,72,28)];
}
if(screenSizeHeight==480)
{
    UIImageView *my_image_view = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plain_Background.png"]];
    [my_image_view setFrame:CGRectMake(0,20,320,480)];
    [self.view addSubview:my_image_view];
    [self.view sendSubviewToBack:my_image_view];
    imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 400)];
    [doneButtonOutlet setFrame:CGRectMake(124,432,72,28)];
}
4

1 回答 1

9

这是因为在 iPhone 5 中,scrollView 高度更高,并且位于您的按钮上方。

所以改变 UIButton 的原点 y。

    imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)]; 
// Here imageScrollView bottom is at 480 pixel and doneButtonOutlet origin is at 470 so either small height of scrollview or change button origin y.. 
        [doneButtonOutlet setFrame:CGRectMake(124,470,72,28)];

希望它可以帮助你。

于 2013-05-08T05:02:26.677 回答