无法在iOS中实现简单的视图滚动

时间:2012-09-30 17:54:38

标签: objective-c ios ios5 uiview uiscrollview

我很难在我的详细视图上实现简单的滚动。

使用主视图和详细信息视图,应用程序非常简单。

当用户在Master上点击一个项目时,详细信息视图会被更大的照片,博客文本等推送。

我希望整个详细信息视图滚动,因此如果图片很高,或者文字很长,他们可以垂直滚动查看/阅读更多内容。我不希望用户单独滚动这些项目。它应该像网页滚动一样。

目前我的详细信息视图加载正常但我无法滚动。

我的 DetailViewController.h

    #import <UIKit/UIKit.h>

    @interface DetailViewController : UIViewController {
        IBOutlet UILabel     *postTextLabel; // wired to Text Label
        IBOutlet UILabel     *postAuthorNameLabel; // wired to Author Label
    }

    @property (strong, nonatomic) id detailItem;
    @end

我的 DetailViewController.m

#import "DetailViewController.h"

@interface DetailViewController ()
- (void)configureView;
@end

@implementation DetailViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self configureView];
}

- (void)configureView
{
    if (self.detailItem) {
        NSDictionary *post           = self.detailItem;
        NSString     *postText       = [post objectForKey:@"post_text"];
        NSString     *postAuthorName = [post objectForKey:@"post_author_name"];

        postTextLabel.text       = postText;
        postAuthorNameLabel.text = postAuthorName;
    }
}
@end

IB上的结构:

enter image description here

关于使这项工作失踪的想法?

1 个答案:

答案 0 :(得分:2)

我会做以下事情:

1)(可选)将视图拖动到侧面的scruture列表中的视图中,将视图转换为滚动视图。

2)将scrollView链接到你的viewcontroller .h并将Outlet连接设为这样的

@property (strong, nonatomic) IBOutlet UIScrollView *scroller;

(如果手动添加,请确保在.m中添加@synthesize) 并确保它在IB中连接!

3)在viewDidLoad方法

中设置scrollview的内容大小
scroller.contentSize =  CGSizeMake(320,550);

注意:IBOutlet UILabel * postTextLabel;实际上应该是一个UITextView,所以你可以访问ContentSize 这将允许以下内容。

CGRect frame = postTextLabel.frame;
frame.size = postTextLabel.contentSize;
postTextLabel.frame = frame;
scroller.contentSize = CGSizeMake(320, frame.size.height+200);//200 or how ever much space is above the textView

并且只有在使用UITextView

时才有效

用于ipad用768或1024替换320,或取决于方向

在IB中连接它的最佳方法就是按住控制并拖动到.h文件 并确保它像图片中一样设置为自动,并指向&gt;你的观点.h 像这样添加它也会自动为你添加@synthesize。

enter image description here

enter image description here

确保在此处检查UserInteractionsEnabled以查看我们的scrollview