gpt4 book ai didi

iphone - UIButton 优于 UIImageView(优于 UIScrollView)

转载 作者:行者123 更新时间:2023-12-03 20:08:54 26 4
gpt4 key购买 nike

我想显示一个图像(大于 iPhone 的屏幕),用户可以滚动。不难,我已经用这段代码完成了:在我的 .h 文件中

@interface mappa1 : UIViewController <UIScrollViewDelegate> {
IBOutlet UIImageView *img;
IBOutlet UIScrollView *scroller;
}

在我的 .m 文件中

UIImage *image = [UIImage imageNamed:@"prova.jpg"];
img = [[UIImageView alloc] initWithImage:image];
scroller.delegate = self;
scroller.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
scroller.contentSize = img.frame.size;
scroller.scrollEnabled = YES;
scroller.directionalLockEnabled = NO;
scroller.userInteractionEnabled = YES;
CGSize ivsize = img.frame.size;
CGSize ssize = scroller.frame.size;

float scalex = ssize.width / ivsize.width;
float scaley = ssize.height / ivsize.height;
scroller.maximumZoomScale = 1.0;
scroller.minimumZoomScale = fmin(1.0, fmax(scalex, scaley));
scroller.zoomScale = fmin(1.0, fmax(scalex, scaley));
[scroller addSubview:img];

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {

return img;

}

一切正常!

现在我想在 UIImage 上添加一个 UIButton,而不是在 UIView 上,因为我希望如果用户缩放或移动图像,uibutton 会跟随 uiimage 的移动/缩放。

所以我添加了这段代码:

UIButton *btn = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
btn.frame = CGRectMake(0, 0, 100, 25);
[btn setTitle:@"Play" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
[img addSubview:btn];

但是 UIButton 是“不可点击的”!当然,UIView 和 UIImageView 将 UserInteractionEnabled 设置为 YES!

谢谢!

编辑:如果我写

[scroller addSubView:btn];

它可以工作,但是,当然,如果用户放大/缩小,UIButton 始终是大 100x25。

最佳答案

解决了!我不知道为什么,但如果我在 Interface Builder 中检查了 UserInteractionEnabled(在 UIImageView 上),它不起作用。如果我写

img.UserInteractionEnabled = YES;

它有效!

关于iphone - UIButton 优于 UIImageView(优于 UIScrollView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com