我在iTunes上有应用程序,它使用ViewController作为可扩展/可缩放的ScrollView,并以编程方式添加按钮并对该按钮执行操作。我目前正在更新应用程序,并已从使用XIB构建应用程序切换到使用Storyboard。版本1.0和此2.0版本都使用相同的xCode 4.6平台构建。我发现一些代码在几个方面的工作方式不同,并且已经找到了最常用的工作,但是对于此按钮的操作却没有。我试图以编程方式将动作添加到ViewController上的一个按钮上。在V1.0中工作的代码不能与Storyboard一起使用。我不记得在V1.0中使用ARC,所以我不知道是不是这个原因。我对此事的任何帮助表示感谢。
显然,我不是一名专业的程序员,所以尽可能清楚地帮助我。谢谢。
目标:我只是想让ScrollingViewController弹回到MainViewController或使用添加到View的按钮返回上一个VC,该按钮名为BackButton.png
这是我的代码:
@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];
}
再次感谢。
答案 0 :(得分:0)
你能为goback:method添加代码,就像
一样- (void)goBack:(id)sender
{
[self.navigationalController popViewControllerAnimated:YES];
}