【问题标题】:Why the UIScrollViewDelegate is not working?为什么 UIScrollViewDelegate 不起作用?
【发布时间】:2010-08-19 02:32:23
【问题描述】:

我有一个名为“HaveScrollController”的 viewController,它是这样的:

@interface HaveScrollController : UIViewController <UIScrollViewDelegate>{
    IBOutlet UIScrollView *scrollView;
    IBOutlet UIView *firstView;
    IBOutlet UIView *secondView;
    IBOutlet UIView *thridView;
    IBOutlet UIView *fourthView;
}


@property (retain, nonatomic) UIScrollView *scrollView;
@property (retain, nonatomic) UIView *firstView;
@property (retain, nonatomic) UIView *secondView;
@property (retain, nonatomic) UIView *thridView;
@property (retain, nonatomic) UIView *fourthView;


@end

.m 是这样的:

@synthesize scrollView,firstView,secondView,thridView,fourthView;
- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:scrollView];

    scrollView.delegate = self;
}


- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSLog(@"scroll detected");
}

@end

我已经与 IB 建立了所有连接。我想在我的“TestAppController”中使用这个控制器,它是这样的,它不使用 IB,并使用代码生成接口:

@interface TestAppController : UIViewController <UIScrollViewDelegate,UIActionSheetDelegate, UITextFieldDelegate> {
    HaveScrollController *scollViewController;
}

.m 在 loadView 方法中是这样的:

scollViewController = [[HaveScrollController alloc] initWithNibName:@"HaveScrollView" bundle:nil];

[mainCanvas addSubview: buttomScollViewController.view];
self.view = mainCanvas;
[mainCanvas release];

当我尝试滚动视图时,未显示“检测到滚动”。我做错什么了?谢谢你。

【问题讨论】:

    标签: iphone objective-c iphone-sdk-3.0


    【解决方案1】:

    scrollView 是否滚动?你好像忘了设置contentSize

    scrollView.contentSize = CGSizeMake(320, 400);
    

    显然,确保contentSize 大于scrollView's 框架,以便滚动动作开始。

    【讨论】:

    • 我很确定您仍然需要指定 contentSize。我在 IB 中看不到任何地方可以指定它,因此您可能需要在代码中的 viewDidLoad 中执行此操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 2019-08-06
    • 2016-07-05
    • 2011-08-06
    • 2013-01-18
    相关资源
    最近更新 更多