我在 iTunes 上有应用程序,它们使用 ViewController 作为可扩展/可缩放的 ScrollView,并带有以编程方式添加的按钮和对该按钮的操作。我目前正在更新应用程序,并已从使用 XIB 构建应用程序切换到使用情节提要。1.0 版和这个 2.0 版都使用相同的 xCode 4.6 平台构建。我发现一些代码在多个区域中的工作方式不同,并且大多数都找到了解决方法,但不适用于此按钮的操作。我正在尝试以编程方式将操作添加到已编程的 ViewController 上的按钮。在 V1.0 中工作的代码不适用于 Storyboard。我不记得在 V1.0 中使用过 ARC,所以我不知道这是否是原因。对于此事,我将不胜感激。
显然我不是专业的程序员,所以尽可能清楚会有所帮助。谢谢你。
目标:我只是试图让 ScrollingViewController 弹出回到 MainViewController 或使用添加到名为 BackButton.png 的视图的按钮返回到以前的 VC
这是我的代码:
@interface ZoomingScrollView : UIViewController
{
IBOutlet UIScrollView *scroller;
IBOutlet UIScrollView *imgView;
IBOutlet UIButton *myButton;
}
@property (nonatomic, retain) UIScrollView *scroller;
@property (nonatomic, retain) UIScrollView *imgView;
@property (nonatomic, retain) UIButton *myButton;
@end
@implementation
-(void) loadView{
//Image View Scrollable
UIImageView *imgView =[[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"ZoomingImage.png"]]autorelease];
imgView.tag = 100;
UIScrollView *scroller = [[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)]autorelease];
scroller.delegate = self;
scroller.minimumZoomScale = 0.25;
scroller.maximumZoomScale = 3.0;
scroller.bounces=NO;
scroller.showsHorizontalScrollIndicator=YES;
scroller.showsVerticalScrollIndicator=YES;
scroller.contentSize = imgView.frame.size;
scroller.contentOffset =CGPointMake((imgView.frame.size.width-1024)/2, (imgView.frame.size.height-768)/2);
[scroller addSubview:imgView];
self.view = scroller;
//Button Controls
UIButton *myButton=[UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(0, 20, 60, 40);
[myButton setTitle:@"goBack" forState:UIControlStateNormal];
[myButton setBackgroundImage:[UIImage imageNamed:@"BackButton.png"] forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:myButton];
}
-(UIView*) viewForZoomingInScrollView: (UIScrollView *) scrollView{
return [self.view viewWithTag:100];
}
再次感谢。