【问题标题】:UIScrollView does not scroll when an object is inside当对象在里面时,UIScrollView 不滚动
【发布时间】:2012-10-02 12:24:00
【问题描述】:

我在UIViewController 中创建了一个UIScrollView 我有5 个视图控制器 我的problem is in the 4th one

我制作的UIScrollView 在我注意到它时会滚动(所以没有标签没有按钮,根本没有对象)但是当我在UIScrollView 中放置一个标签(或任何东西)时它停止工作。

编辑:

我尝试在一个新项目中做同样的事情,由于某种原因它确实有效,我认为这与它位于 第 4 个 ViewController 和新的我制作的,是制作的,在第一个自动制作的视图控制器中。 我还没有答案,请帮忙。

我的代码: 视图控制器.h

#import <UIKit/UIKit.h>

@interface viewcontroller : UIViewController
@property (weak, nonatomic) IBOutlet UIScrollView *ScrollerMdon;

@end

viewcontroller.m

@synthesize ScrollerMdon;

- (id)initWithNibName:(NSString *) nibNameOrNil bundle:(NSBundle *) nibBundleOrNil
{
    self = [super initWithNibName: nibNameOrNil bundle:nibBundleOrNil];
    if(self)
    {

    }
return self;
}

-(void)viewDidLoad
{
[ScrollerMdon setScrollEnabled:YES];
[ScrollerMdon setContentSize:CGSizeMake(320,1000)];
[super viewDidLoad];
}

@end

在 xcode viewcontroller 连接检查器中,我的插座 ScrollerMdon 与 *Scroll View(*我插入到我的 viewcontroller) 连接

在 xcode UIScrollView 连接检查器中,我的引用出口 ScrollerMdon 与视图控制器连接。

请帮帮我,我已经尝试解决这个问题 5 个小时了。我受不了了。

编辑:

我尝试让单个视图控制器可以容纳 17 个文本框

编辑2:

我已经尝试再次将同一个类放在不同的视图控制器上,反之,我有点重写了代码,一切都与我在另一个项目中所做的完全相同,但确实如此不工作。(当一个对象在里面..)

我的程序的 2 张照片。 对不起,小而坏的图像,由于某种原因,它们未经我的许可就移动了,但我猜这已经足够了。(我使用带有 os x leopard 的 VMWare 8)

foto 1

foto 2

我在没有项目的情况下滚动: imgur.com/cd16I

我拼命滚动物品: imgur.com/hNUl1

由于我只能发布 2 个超链接,您必须自己打开这些超链接。 PS。如果您不知道答案,请点赞,因为我需要答案,如果点赞,可能会有更多的观众。

编辑3:

我现在正在复制我的整个代码并在另一个项目中构建应用程序,希望这会起作用:S.

【问题讨论】:

  • 请向我们展示您如何在滚动视图中放置或添加任何对象的代码,问题在于该代码:)
  • 检查是否在界面生成器中为该对象启用了用户交互。
  • 我试过这样做,但没有奏效。另外,如果您查看我的编辑,我基本上做了同样的事情,但在该项目的另一个项目中,标签交互也没有启用,但它们确实有效!
  • 当您说第四个视图控制器时,您是指您的第四个屏幕吗?您是替换视图控制器的视图还是将滚动视图放置在其中? Let meet 建议你一些完全不在主题的东西,但你不应该用大写字母作为第一个字母来命名你的非静态变量或属性。第一次看时,我以为我在看什么课。
  • 我的意思是第 4 个屏幕和 Wolvorin,“向我们展示如何放置或添加任何对象的代码”是什么意思(或者我在哪里可以找到它?)我在滚动视图中添加标签通过简单地将它们扫入,我还将滚动视图放入我的 viewcontrollers 视图中。

标签: objective-c xcode uiscrollview


【解决方案1】:

我遇到了与昨天遇到的完全相同的问题。让我疯了好几个小时……这是一个全新的项目,我大约一周前才开始。

问题是,我有另一个项目与我去年夏天开始的设置基本完全相同,没有任何问题。选项卡式应用程序,具有 UIScrollView 的 VC,其中包含许多 uiview、标签、图像等......效果很好。

那么从那个项目到这个项目有什么变化?我开始该项目的 Xcode 版本。去年夏天的项目没有启用 AutoLayout 作为选项。这个新版本做到了(Xcode 4.6)。

如果我为整个项目关闭“使用自动布局”,效果会非常好。

在“实用程序”面板中,单击“文件检查器”选项卡。在“Interface Builder Document”部分,您会看到“Use AutoLayout”复选框。取消选择并重新构建您的应用程序。不到 10 分钟前刚刚为我自己的项目发现了这个技巧——效果很好。

希望这适用于您的项目...祝您好运!

【讨论】:

    【解决方案2】:

    我找到了解决方案,它可能不是完美的解决方案,但它确实有效。

    问题似乎出在我的第一个项目中,因为我可以让它在其他项目中工作, 所以我将我的整个项目复制到另一个项目中,这样它就可以工作了。

    【讨论】:

      【解决方案3】:

      此解决方案不会解释问题所在,但我认为它会解决您的问题。

      将您创建的新项目中的元素复制到旧项目中并替换受影响的视图控制器。也复制类。

      您的连接肯定有问题,但您提供的信息无法检查。

      如果这不起作用,那么它必须是导航中的某些内容(怀疑)或您在类上的某些自定义代码(如果您拥有的所有代码都在 viewDidLoad 中,如您所示,则非常困难) .

      【讨论】:

      • 我尝试了您的第一个建议,但它不起作用,这些项目具有完全相同的质量,这一定是因为有效的项目是在正式创建的第一个 Viewcontroller 中,有没有在您自己制作的 Viewcontroller 中使用 UIScrollview 的特殊规则?
      • 界面构建器视图控制器与其类连接良好?
      • 是的,界面构建器视图控制器与其类相连。
      • 您现在唯一要做的就是发布界面构建器(视图层次结构、属性和连接)的屏幕截图,并告诉您如何呈现视图控制器。当你在它的时候,试着让那个视图控制器成为初始的视图控制器。
      • 我真的很想这样做,但这是我尝试时遇到的错误:“您需要至少 10 个声望才能发布图片”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多