我对编程和目标C都很陌生,所以你必须对我很轻松。我确定应用程序中的一些代码可能是不必要的。我搜索了谷歌和StackOverflow的答案,但没有一个解决方案对我有用,要么是因为它们不是正确的解决方案,要么我只是误解了答案。
问题在于,当我添加一个非常长的图像并且我想仅垂直滚动时,它最初拒绝滚动,直到我更改一个名为“垂直空间(-1678)的”约束“ - 滚动视图 - 图像视图 - Ruler pic.png“为0,原因我不知道。我甚至不明白为什么它默认为-1678。
无论如何,它然后完美地工作,直到我在故事板中添加UIButton
(我后来想要添加一个模态“动作segue”,以便它将转到另一个视图)。当我添加UIButton
时,它将不会在模拟器中滚动。
我想我一定做错了,因为我只输入了一行关于按钮的代码(声明它),或者我可能需要添加更多代码才能滚动它。我不知道!如果您需要更多信息以帮助我乐意提供它。我厌倦了努力让它发挥作用。提前谢谢。
ViewController.h
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface ViewController : UIViewController <ADBannerViewDelegate, UIScrollViewDelegate> {
ADBannerView *adView;
BOOL bannerIsVisible;
IBOutlet UIScrollView *scrollView;
IBOutlet UIImageView *imageView;
IBOutlet UIButton *proVersion;
}
@property (nonatomic, assign) BOOL bannerIsVisible;
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
@property (nonatomic, retain) IBOutlet UIImageView *imageView;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize bannerIsVisible;
@synthesize scrollView;
@synthesize imageView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Hide status bar:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
// iAd:
adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.frame = CGRectOffset(adView.frame, 0, -50.0f);
[self.view addSubview:adView];
adView.delegate=self;
self.bannerIsVisible=NO;
}
-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, 50.0f);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if (self.bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, -50.0f);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
答案 0 :(得分:0)
您需要设置ContentSize
的{{1}},如下所示:
ScrollView
答案 1 :(得分:0)
我玩了一下,在答案中摆弄了这个例子,我得到了这段代码:
scrollView.contentSize = CGSizeMake(320,2246);
哪个有效!我花了几天时间研究它,这只是一个小小的代码行。我把它放到viewDidLoad中,突然间它滚动了。我也不得不转向“AutoLayout”。